home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-02-03 | 55.2 KB | 1,486 lines |
- Newsgroups: comp.sources.x
- Path: uunet!elroy.jpl.nasa.gov!ames!pasteur!nntp
- From: scott.oaks@East.Sun.COM (Scott Oaks)
- Subject: v15i158: OpenLook Virtual Window Mgr (3.0), Part12/21
- Message-ID: <1992Feb4.135811.7660@pasteur.Berkeley.EDU>
- Sender: dcmartin@msi.com (David C. Martin - Moderator)
- Nntp-Posting-Host: postgres.berkeley.edu
- Organization: University of California, at Berkeley
- References: <csx-15i147-olvwm-3.0@uunet.UU.NET>
- Date: Tue, 4 Feb 1992 13:58:11 GMT
- Approved: dcmartin@msi.com
-
- Submitted-by: scott.oaks@East.Sun.COM (Scott Oaks)
- Posting-number: Volume 15, Issue 158
- Archive-name: olvwm-3.0/part12
-
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # The tool that generated this appeared in the comp.sources.unix newsgroup;
- # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
- # If this archive is complete, you will see the following message at the end:
- # "End of archive 12 (of 21)."
- # Contents: olvwmrc.y usermenu.c.Z.uu vdm.mask
- # Wrapped by dcmartin@fascet on Tue Jan 14 05:54:45 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'olvwmrc.y' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'olvwmrc.y'\"
- else
- echo shar: Extracting \"'olvwmrc.y'\" \(18371 characters\)
- sed "s/^X//" >'olvwmrc.y' <<'END_OF_FILE'
- X/*
- X * (c) Copyright 1991 Scott Oaks
- X * See LEGAL_NOTICE file for terms of the license.
- X */
- X
- X%{
- X#ident "@(#)olvwmrc.y 1.1 olvwm version 1/3/92"
- X
- X#include <stdio.h>
- X#include <string.h>
- X#include <X11/Xos.h>
- X#include <X11/Xlib.h>
- X#include <X11/Xutil.h>
- X#include <X11/keysym.h>
- X
- X#include "list.h"
- X#include "mem.h"
- X#include "win.h"
- X#include "menu.h"
- X#include "kbdfuncs.h"
- X#include "olwm.h"
- X#include "ollocale.h"
- X#include "globals.h"
- X#include "virtual.h"
- X#include "i18n.h"
- X
- X#define OLVWM_USE_SELECTION "OLVWM_USE_SELECTION"
- X
- Xextern CheckForKeyProg();
- Xchar *LookupToken();
- X
- Xstatic char sccsid[] = "@(#)olvwmrc.y 1.1 olvwm version 1/2/92";
- X
- Xtypedef struct progscreen {
- X char *target;
- X int screen;
- X} ProgScreen;
- X
- Xtypedef enum { Warp, Open, Raise, Execute, Goto, Close, Quit } Action;
- X
- Xtypedef struct progkeynode {
- X Action action;
- X char *parameter;
- X} ProgKeyNode;
- X
- Xtypedef struct progkey {
- X int modmask;
- X KeyCode keycode;
- X List *todo;
- X} ProgKey;
- X
- Xtypedef struct winmenuactions {
- X char *key;
- X List *actions;
- X} WinMenuActions;
- X
- XList *ProgScreenList = NULL;
- XList *ProgKeyList = NULL;
- XList *WinMenuActionsList = NULL;
- X
- Xstatic Display *dpy;
- X%}
- X
- X
- X%start file
- X
- X%union {
- X int ival;
- X void *sval;
- X}
- X
- X%token <ival> WARP
- X%token <ival> OPEN
- X%token <ival> RAISE
- X%token <ival> CLOSE
- X%token <ival> QUIT
- X%token <ival> EXECUTE
- X%token <ival> GOTO
- X%token <ival> MODIFIER
- X%token <sval> KEY
- X%token <sval> WORD
- X%token <ival> COLON
- X%token <ival> OPENBRACE
- X%token <ival> CLOSEBRACE
- X%token <ival> COMMA
- X%token <ival> SCREEN
- X%token <ival> INT
- X%token <sval> STARTSQUOTE
- X%token <sval> STARTDQUOTE
- X%token <sval> ENDSQUOTE
- X%token <sval> ENDDQUOTE
- X%token <ival> WINMENU
- X%token <ival> PLUS
- X
- X%type <sval> List
- X%type <ival> Modifier
- X%type <sval> Actions
- X%type <sval> KeySpec
- X%type <sval> WarpAction
- X%type <sval> OpenAction
- X%type <sval> RaiseAction
- X%type <sval> GotoAction
- X%type <sval> ExecuteAction
- X%type <sval> CloseAction
- X%type <sval> QuitAction
- X%type <ival> ScreenStart
- X%type <sval> String
- X%type <sval> WinMenuActions
- X%type <sval> Key
- X
- X%%
- X/* Rules */
- X
- Xfile : /* empty */
- X | file KeyProg
- X | file ScreenProg
- X | file WinMenuProg
- X | error CLOSEBRACE
- X
- XKeyProg : KeySpec OPENBRACE Actions CLOSEBRACE
- X {
- X ProgKey *p;
- X int ret;
- X KeyDescriptor *d;
- X
- X p = $1;
- X p->todo = $3;
- X d = (KeyDescriptor *) MemAlloc(sizeof(*d));
- X d->rsrc_name = NULL;
- X d->dflt_binding = NULL;
- X d->function = (void (*)()) CheckForKeyProg;
- X d->action = ACTION_VIRTUAL;
- X d->flags = KD_DYNAMIC;
- X AddKeyBinding(p->keycode, p->modmask, d);
- X ProgKeyList = ListCons($1, ProgKeyList);
- X }
- X
- XScreenProg : ScreenStart List CLOSEBRACE
- X {
- X ProgScreen *p;
- X
- X p = (ProgScreen *) MemAlloc(sizeof(ProgScreen));
- X p->screen = $1 - 1; /* count internally from 0 */
- X p->target = $2;
- X ProgScreenList = ListCons(p, ProgScreenList);
- X }
- X
- XWinMenuProg : WINMENU OPENBRACE WinMenuActions CLOSEBRACE
- X {
- X static int DoneWinMenuActions = False;
- X
- X if (DoneWinMenuActions) {
- X ErrorWarning(gettext("Duplicate WINMENU entry in .olvwmrc"));
- X YYERROR;
- X }
- X WinMenuActionsList = $3;
- X }
- X
- XWinMenuActions : /* empty */
- X { $$ = NULL; }
- X | WinMenuActions String OPENBRACE Actions CLOSEBRACE
- X {
- X WinMenuActions *p;
- X
- X p = (WinMenuActions *) MemAlloc(sizeof(WinMenuActions));
- X p->key = strdup($2);
- X p->actions = $4;
- X $$ = ListCons(p, $1);
- X }
- X
- XActions : /* empty */
- X { $$ = NULL; }
- X | Actions WarpAction
- X { $$ = ListCons($2, $1); }
- X | Actions OpenAction
- X { $$ = ListCons($2, $1); }
- X | Actions RaiseAction
- X { $$ = ListCons($2, $1); }
- X | Actions ExecuteAction
- X { $$ = ListCons($2, $1); }
- X | Actions GotoAction
- X { $$ = ListCons($2, $1); }
- X | Actions CloseAction
- X { $$ = ListCons($2, $1); }
- X | Actions QuitAction
- X { $$ = ListCons($2, $1); }
- X
- XWarpAction : WARP COLON String
- X {
- X ProgKeyNode *p;
- X
- X p = (ProgKeyNode *) MemAlloc(sizeof(ProgKeyNode));
- X p->action = Warp;
- X p->parameter = strdup($3);
- X $$ = p;
- X }
- X
- XCloseAction: CLOSE COLON List
- X {
- X ProgKeyNode *p;
- X
- X p = (ProgKeyNode *) MemAlloc(sizeof(ProgKeyNode));
- X p->action = Close;
- X p->parameter = $3;
- X $$ = p;
- X }
- X
- XQuitAction: QUIT COLON List
- X {
- X ProgKeyNode *p;
- X
- X p = (ProgKeyNode *) MemAlloc(sizeof(ProgKeyNode));
- X p->action = Quit;
- X p->parameter = $3;
- X $$ = p;
- X }
- X
- XOpenAction: OPEN COLON List
- X {
- X ProgKeyNode *p;
- X
- X p = (ProgKeyNode *) MemAlloc(sizeof(ProgKeyNode));
- X p->action = Open;
- X p->parameter = $3;
- X $$ = p;
- X }
- X
- XRaiseAction: RAISE COLON List
- X {
- X ProgKeyNode *p;
- X
- X p = (ProgKeyNode *) MemAlloc(sizeof(ProgKeyNode));
- X p->action = Raise;
- X p->parameter = $3;
- X $$ = p;
- X }
- X
- XExecuteAction: EXECUTE COLON List
- X {
- X ProgKeyNode *p;
- X
- X p = (ProgKeyNode *) MemAlloc(sizeof(ProgKeyNode));
- X p->action = Execute;
- X p->parameter = $3;
- X $$ = p;
- X }
- X
- XGotoAction: GOTO COLON String
- X {
- X ProgKeyNode *p;
- X
- X p = (ProgKeyNode *) MemAlloc(sizeof(ProgKeyNode));
- X p->action = Goto;
- X p->parameter = strdup($3);
- X $$ = p;
- X }
- X
- XKeySpec : Key Modifier
- X {
- X KeySym ks;
- X KeyCode kc;
- X ProgKey *p;
- X char msg[80];
- X
- X ks = XStringToKeysym($1);
- X if (ks == NoSymbol) {
- X sprintf(msg,
- X gettext("Unknown keysymbol %s in .olvwmrc"),
- X $1);
- X ErrorWarning(msg);
- X YYERROR;
- X }
- X kc = XKeysymToKeycode(dpy, ks);
- X if (kc == 0) {
- X sprintf(msg,
- X gettext("Unknown keysymbol %s in .olvwmrc"),
- X $1);
- X ErrorWarning(msg);
- X YYERROR;
- X }
- X p = (ProgKey *) MemAlloc(sizeof(ProgKey));
- X p->keycode = kc;
- X p->modmask = $2;
- X
- X $$ = p;
- X free($1);
- X }
- X
- XKey : KEY
- X { $$ = strdup($1); }
- X
- XModifier : /* empty */
- X { $$ = 0; }
- X | Modifier PLUS MODIFIER
- X {
- X KeyCode kc;
- X char msg[80];
- X
- X if ($3 == -1)
- X $$ = AnyModifier;
- X else {
- X kc = XKeysymToKeycode(dpy, $3);
- X if (kc == 0) {
- X sprintf(msg,
- X gettext("Unknown modifer %d\n in .olvwmrc"),
- X $2);
- X ErrorWarning(msg);
- X YYERROR;
- X }
- X }
- X $$ |= FindModifierMask(kc);
- X }
- X
- XList : String
- X { $$ = $1; }
- X | List COMMA String
- X {
- X char *s;
- X
- X s = MemAlloc(strlen($1) + strlen($3) + 2);
- X sprintf(s, "%s,%s", $1, $3);
- X free($1);
- X free($3);
- X $$ = s;
- X }
- X
- XScreenStart : SCREEN INT OPENBRACE
- X {
- X $$ = $2;
- X }
- X
- XString : WORD
- X {
- X char *t;
- X
- X t = $1;
- X if (*t == '\"' || *t == '\'') {
- X /* word in quotes; get rid of them */
- X t++;
- X t[strlen(t) - 1] = '\0';
- X }
- X $$ = strdup(t);
- X free($1);
- X }
- X%%
- X/* Programs */
- X#define YYDEBUG 1
- X#include "parse.c"
- X
- Xextern List *ActiveClientList;
- X
- Xyyerror(s)
- X char *s;
- X
- X{
- Xchar msg[256];
- X
- X sprintf(msg, gettext("Syntax error near %s in .olvwmrc -- entry ignored\n"),
- X yytext);
- X ErrorWarning(msg);
- X}
- X
- Xstatic ProgKey *
- XmatchProgKey(p, ev)
- X ProgKey *p;
- X XEvent *ev;
- X
- X{
- X if (p->keycode == ev->xkey.keycode &&
- X (p->modmask == AnyModifier || p->modmask == ev->xkey.state))
- X return p;
- X return NULL;
- X}
- X
- Xstatic ProgScreen *
- XmatchProgString(p, s)
- X ProgScreen *p;
- X char *s;
- X{
- Xchar *t, *t1;
- X
- X t1= strdup(p->target);
- X t = LookupToken(t1, ",");
- X while (t) {
- X if (!strncmp(t, s, strlen(t))) {
- X free(t1);
- X return p;
- X }
- X t = LookupToken(NULL, ",");
- X }
- X free(t1);
- X return NULL;
- X}
- X
- Xstatic Client *
- XfindClient(c, s)
- X Client *c;
- X char *s;
- X{
- X if (c->framewin && c->framewin->fcore.name)
- X if (!strncmp(c->framewin->fcore.name, s, strlen(s)))
- X return c;
- X if (c->wmClass)
- X if (!strcmp(c->wmClass, s))
- X return c;
- X if (c->wmInstance)
- X if (!strcmp(c->wmInstance, s))
- X return c;
- X return NULL;
- X}
- X
- Xstatic int applyIsKey = False;
- X
- Xstatic int
- XapplyAction(p, cli)
- X ProgKeyNode *p;
- X Client *cli;
- X
- X{
- XClient *c;
- Xchar *s, *t;
- XList *l;
- Xint rootX, rootY, root, child, winX, winY, keys;
- X
- X switch(p->action) {
- X case Warp:
- X /*
- X * We only allow one lookup per warp, but we can't use p.parameter
- X * directly, since it may contain special characters which
- X * LookupToken will remove
- X */
- X s = strdup(p->parameter);
- X t = LookupToken(s, ",");
- X if (strcmp(t, OLVWM_USE_SELECTION))
- X c = (Client *) ListApply(ActiveClientList, findClient, t);
- X else c = cli;
- X free(s);
- X if (c) {
- X VDMMoveTo(dpy, c, c->framewin->core.x, c->framewin->core.y);
- X /*
- X * If we got here via a key, move the mouse to the window and
- X * give it focus
- X */
- X if (applyIsKey) {
- X if (!XQueryPointer(dpy, PANEWINOFCLIENT(c),
- X &root, &child, &rootX, &rootY, &winX, &winY,
- X &keys))
- X break;
- X XWarpPointer(dpy, None, None, 0, 0, 0, 0,
- X c->framewin->core.x - rootX +
- X c->framewin->core.width / 2,
- X c->framewin->core.y - rootY +
- X c->framewin->core.height / 2);
- X }
- X if (!GRV.FocusFollowsMouse)
- X ClientSetFocus(c, True, CurrentTime);
- X }
- X break;
- X
- X case Open:
- X s = strdup(p->parameter);
- X t = LookupToken(s, ",");
- X while (t) {
- X l = ActiveClientList;
- X if (!strcmp(t, OLVWM_USE_SELECTION))
- X if (cli->wmState == IconicState)
- X StateIconNorm(cli);
- X else ;
- X else for (c = ListEnum(&l); c != NULL; c = ListEnum(&l))
- X if (findClient(c, t) && c->wmState == IconicState)
- X StateIconNorm(c);
- X t = LookupToken(NULL, ",");
- X }
- X free(s);
- X break;
- X
- X case Close:
- X s = strdup(p->parameter);
- X t = LookupToken(s, ",");
- X while (t) {
- X l = ActiveClientList;
- X if (!strcmp(t, OLVWM_USE_SELECTION))
- X if (cli->wmState == NormalState)
- X StateNormIcon(cli);
- X else ;
- X else for (c = ListEnum(&l); c != NULL; c = ListEnum(&l))
- X if (findClient(c, t) && c->wmState == NormalState)
- X StateNormIcon(c);
- X t = LookupToken(NULL, ",");
- X }
- X free(s);
- X break;
- X
- X case Quit:
- X s = strdup(p->parameter);
- X t = LookupToken(s, ",");
- X while (t) {
- X l = ActiveClientList;
- X if (!strcmp(t, OLVWM_USE_SELECTION))
- X ClientKill(cli, True);
- X else for (c = ListEnum(&l); c != NULL; c = ListEnum(&l))
- X if (findClient(c, t))
- X ClientKill(c, True);
- X t = LookupToken(NULL, ",");
- X }
- X free(s);
- X break;
- X
- X case Raise:
- X s = strdup(p->parameter);
- X t = LookupToken(s, ",");
- X while (t) {
- X l = ActiveClientList;
- X if (!strcmp(t, OLVWM_USE_SELECTION))
- X if (cli->wmState == IconicState)
- X RaiseWindow(cli->iconwin);
- X else RaiseWindow(cli->framewin);
- X else for (c = ListEnum(&l); c != NULL; c = ListEnum(&l))
- X if (findClient(c, t))
- X if (c->wmState == IconicState)
- X RaiseWindow(c->iconwin);
- X else RaiseWindow(c->framewin);
- X t = LookupToken(NULL, ",");
- X }
- X free(s);
- X break;
- X
- X case Execute:
- X s = strdup(p->parameter);
- X t = LookupToken(s, ",");
- X while (t) {
- X ExecCommand(cli->scrInfo->environment, t);
- X t = LookupToken(NULL, ",");
- X }
- X free(s);
- X break;
- X
- X case Goto:
- X VDMGoto(dpy, cli, atoi(p->parameter));
- X break;
- X }
- X return False;
- X}
- X
- XInitOlvwmRC(ldpy)
- X Display *ldpy;
- X
- X{
- Xchar *path, s[256];
- Xextern char *getenv();
- X
- X while (1) {
- X /* try reading OLVWMRC */
- X path = getenv("OLVWMRC");
- X if (path)
- X if (yyin = fopen(path, "r"))
- X break;
- X sprintf(s, ".olvwmrc");
- X if (yyin = fopen(s, "r"))
- X break;
- X sprintf(s, "%s/.olvwmrc", getenv("HOME"));
- X if (yyin = fopen(s, "r"))
- X break;
- X return;
- X }
- X dpy = ldpy;
- X yyparse();
- X#ifdef DEBUG
- X DumpProgKeyList();
- X DumpScreenList();
- X DumpWinMenuList();
- X#endif
- X fclose(yyin);
- X}
- X
- XDestroyProgScreen(p)
- X ProgScreen *p;
- X{
- X MemFree(p->target);
- X return False;
- X}
- X
- XDestroyProgKeyNode(p)
- X ProgKeyNode *p;
- X{
- X MemFree(p->parameter);
- X return False;
- X}
- X
- XDestroyProgKey(p)
- X ProgKey *p;
- X{
- X ListApply(p->todo, DestroyProgKeyNode);
- X ListDestroy(p->todo);
- X return False;
- X}
- X
- XDestroyWinMenuActions(p)
- X WinMenuActions *p;
- X{
- X ListApply(p->actions, DestroyProgKeyNode);
- X ListDestroy(p->actions);
- X}
- X
- XReInitOlvwmRC(ldpy)
- X Display *ldpy;
- X
- X{
- X ListApply(ProgScreenList, DestroyProgScreen);
- X ListDestroy(ProgScreenList);
- X ListApply(ProgKeyList, DestroyProgKey);
- X ListDestroy(ProgKeyList);
- X ListApply(WinMenuActionsList, DestroyWinMenuActions);
- X ListDestroy(WinMenuActionsList);
- X ProgScreenList = NULL;
- X ProgKeyList = NULL;
- X WinMenuActionsList = NULL;
- X InitOlvwmRC(ldpy);
- X}
- X
- XSearchProgString(dpy, scrInfo, name, inst, wm_class,
- X frame_x, frame_y, icon_x, icon_y)
- X Display *dpy;
- X ScreenInfo *scrInfo;
- X char *name, *inst, *wm_class;
- X int *frame_x, *frame_y, *icon_x, *icon_y;
- X{
- XProgScreen *p = NULL;
- Xint dw = DisplayWidth(dpy, scrInfo->screen);
- Xint dh = DisplayHeight(dpy, scrInfo->screen);
- X
- X if (name)
- X p = (ProgScreen *) ListApply(ProgScreenList, matchProgString, name);
- X if (!p && inst)
- X p = (ProgScreen *) ListApply(ProgScreenList, matchProgString, inst);
- X if (!p && wm_class)
- X p = (ProgScreen *) ListApply(ProgScreenList, matchProgString, wm_class);
- X if (p) {
- X *frame_x = (*frame_x % dw) + dw * (p->screen % scrInfo->vdm->columns) +
- X scrInfo->vdm->offsetX;
- X *icon_x = (*icon_x % dw) + dw * (p->screen % scrInfo->vdm->columns) +
- X scrInfo->vdm->offsetX;
- X *frame_y = (*frame_y % dh) + dh * (p->screen / scrInfo->vdm->columns) +
- X scrInfo->vdm->offsetY;
- X *icon_y = (*icon_y % dh) + dh * (p->screen / scrInfo->vdm->columns) +
- X scrInfo->vdm->offsetY;
- X }
- X}
- X
- XCheckForKeyProg(dpy, ev)
- X Display *dpy;
- X XEvent *ev;
- X{
- XProgKey *p;
- XWinGeneric *win;
- X
- X p = (ProgKey *) ListApply(ProgKeyList, matchProgKey, ev);
- X if (!p)
- X return False;
- X if (ev->xkey.type != KeyPress)
- X return False;
- X win = (WinGeneric *) WIGetInfo(ev->xkey.window);
- X if (!win)
- X win = (WinGeneric *) VGetInfo(ev->xkey.window);
- X if (!win)
- X ErrorWarning(gettext("Unexpected window keyboard event"));
- X else {
- X applyIsKey = True;
- X ListApply(p->todo, applyAction, win->core.client);
- X }
- X return True;
- X}
- X
- XDumpProgKeyNode(n)
- X ProgKeyNode *n;
- X{
- X printf(gettext("Action %d parameter %s\n"), n->action, n->parameter);
- X return False;
- X}
- X
- XDumpProgKey(p)
- X ProgKey *p;
- X{
- X printf(gettext("Actions for key %d mask %x\n"), p->keycode, p->modmask);
- X ListApply(p->todo, DumpProgKeyNode, 0);
- X return False;
- X}
- X
- XDumpProgKeyList()
- X{
- X ListApply(ProgKeyList, DumpProgKey, 0);
- X}
- X
- XDumpProgScreen(p)
- X ProgScreen *p;
- X{
- X printf(gettext("Screen %d: %s\n"), p->screen, p->target);
- X return False;
- X}
- X
- XDumpWinMenu(p)
- X WinMenuActions *p;
- X{
- X printf(gettext("Menu key %s\n"), p->key);
- X ListApply(p->actions, DumpProgKeyNode, 0);
- X return False;
- X}
- X
- XDumpScreenList()
- X{
- X ListApply(ProgScreenList, DumpProgScreen, 0);
- X}
- X
- XDumpWinMenuList()
- X{
- X ListApply(WinMenuActionsList, DumpWinMenu, 0);
- X}
- X
- Xchar *
- XLookupToken(src, delim)
- X char *src;
- X char *delim;
- X
- X{
- Xstatic char last[128], *next, *final;
- Xchar *s, *t;
- Xint idx = 0;
- X
- X if (src) {
- X next = src;
- X final = src + strlen(src);
- X }
- X if (next > final)
- X return NULL;
- X s = next;
- X while (*s && !strchr(delim, *s)) {
- X if (*s == '\\')
- X s++;
- X else if (*s == '\"') {
- X last[idx++] = *s++;
- X while (*s && *s != '\"')
- X last[idx++] = *s++;
- X }
- X else if (*s == '\'') {
- X last[idx++] = *s++;
- X while (*++s && *s != '\'')
- X last[idx++] = *s++;
- X }
- X last[idx++] = *s++;
- X }
- X *s = '\0';
- X last[idx] = '\0';
- X next = s + 1;
- X return last;
- X}
- X
- XMenuOfWindowsAction(dpy,winInfo,menuInfo,idx)
- XDisplay *dpy;
- XWinGeneric *winInfo;
- XMenuInfo *menuInfo;
- Xint idx;
- X{
- XClient *cli;
- XList *l;
- X
- X cli = (Client *) menuInfo->menu->buttons[idx]->action.submenu;
- X l = (List *) ListApply(WinMenuActionsList,
- X matchProgString, cli->framewin->fcore.name);
- X if (!l)
- X l = (List *) ListApply(WinMenuActionsList, matchProgString, cli->wmInstance);
- X if (!l)
- X l = (List *) ListApply(WinMenuActionsList, matchProgString, cli->wmClass);
- X if (l) {
- X applyIsKey = False;
- X ListApply(l, applyAction, cli);
- X }
- X else {
- X /* Warp */
- X VDMMoveTo(dpy, cli, cli->framewin->core.x, cli->framewin->core.y);
- X /* Open */
- X if (cli && cli->wmState == IconicState)
- X StateIconNorm(cli);
- X /* Raise */
- X RaiseWindow(cli->framewin);
- X }
- X}
- X
- Xstatic void *
- XaddButton(cli, menu)
- X Client *cli;
- X Menu *menu;
- X
- X{
- XButton *b;
- Xint len;
- X
- X#define MENU_LENGTH (32)
- X
- X if (!cli->framewin)
- X return NULL;
- X if (!menu->buttonCount++)
- X menu->buttons = (Button **) MemAlloc(sizeof(Button *));
- X else menu->buttons = (Button **)
- X MemRealloc(menu->buttons, menu->buttonCount * sizeof(Button *));
- X b = (Button *) MemAlloc(sizeof(Button));
- X menu->buttons[menu->buttonCount - 1] = b;
- X
- X len = strlen(cli->framewin->fcore.name);
- X if (len > MENU_LENGTH)
- X len = MENU_LENGTH;
- X
- X b->label[0].kind = StringLabel;
- X b->label[1].kind = NoType;
- X b->label[0].string = MemAlloc(len + 3);
- X b->label[0].string[0] = '\0';
- X if (cli->wmState == IconicState)
- X strcat(b->label[0].string, "\244");
- X else strcat(b->label[0].string, " ");
- X strcat(b->label[0].string, " ");
- X strncat(b->label[0].string, cli->framewin->fcore.name, MENU_LENGTH);
- X b->label[1].string = NULL;
- X b->helpstring[0] = b->helpstring[1] = NULL;
- X b->which = 0;
- X b->stacked = False;
- X b->enabled = True;
- X b->visible = True;
- X b->action.callback = MenuOfWindowsAction;
- X b->action.submenu = (Menu *) cli;
- X b->generate_func = NULL;
- X return NULL;
- X}
- X
- XGenWinMenuFunc(dpy, menuInfo, bindex, cache, winInfo, depth)
- X Display *dpy;
- X MenuInfo *menuInfo;
- X int bindex;
- X MenuCache *cache;
- X WinGeneric *winInfo;
- X int depth;
- X{
- XMenu *menu;
- Xint columns;
- Xextern MenuInfo *MenuInfoCreate();
- X
- X columns = menuInfo->buttons[bindex].subMenu->menu->prefColSize;
- X MenuInfoDestroy(menuInfo->buttons[bindex].subMenu);
- X menu = (Menu *) MemAlloc(sizeof(Menu));
- X menu->buttons = NULL;
- X menu->buttonCount = 0;
- X menu->buttonDefault = NOBUTTON;
- X menu->hasPushPin = False;
- X menu->menudirty = True;
- X menu->helpstring = "olvwm:WinMenu";
- X menu->btnPerCol = 0;
- X menu->maxLabWidth = 0;
- X menu->prefColSize = columns;
- X ListApply(ActiveClientList, addButton, menu);
- X
- X menuInfo->buttons[bindex].subMenu =
- X MenuInfoCreate(cache, winInfo, menu, depth);
- X}
- END_OF_FILE
- if test 18371 -ne `wc -c <'olvwmrc.y'`; then
- echo shar: \"'olvwmrc.y'\" unpacked with wrong size!
- fi
- # end of 'olvwmrc.y'
- fi
- if test -f 'usermenu.c.Z.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'usermenu.c.Z.uu'\"
- else
- echo shar: Extracting \"'usermenu.c.Z.uu'\" \(31873 characters\)
- sed "s/^X//" >'usermenu.c.Z.uu' <<'END_OF_FILE'
- Xbegin 666 usermenu.c.Z
- XM'YV0+U0H *$"A,*,:D #'D#9P\<M*<04,'1(P<.'*PL)@C!PP04^JX =$D
- XMS1@Y;^;DF4.G3)LY&Y.X&>,"I$@09,K,D3@23IB6;NC,&5CPH$$X9=R02>/F
- XM# BF(.B@*0.BBHLI-<,H!6'FC9PR/$&,>2.23D2=-:>4H<JDR)$@3+XX>4(E
- XMR9 B1(T:-).=6N<J*6D?,2Q!LS4:>"8&,RZ9PR+HB^4*!@1)J<01.( ()B
- XM1(HZCPDGK>-B3((8+F(89F/G3AL0=@;O?#,RQHL9+W+($$$Y8%XA81Z3,>RF
- XM\N6D=#1S]@QZ<)O1I1/(L.%BAHT$.6S#R/$B!@V039+P)BBYMT""(*B@23.'
- XM:U^J8X.&8=H^#!LVAA%+_2MR#)TTM+4'& AM:)4&''6P\1-33NT'0G.!/>=&
- XM'43E=00;;XAA'PA&]/=?@#KD)5,:=%016A.C@9! "RTL]D88PSD((8$I:C4<
- XM4R2F81][9>0E11DCEGABBBNV^!6&,"9&U8P2U@&"C2!\U0*._^WXF(]OO$$'
- XMBA-.@<8;=R10I%CVX<=E'5Z"29R2469949,5$C29 KZA-T4>\N&1'YM,ILB7
- XM7R#,\66"PXE!U7%!F;0A'6\D]M.#PH$@1AY$)2!&'7V1T20(*(3DAA5IE'%'
- XMH'3D :@4;I[IGE]SI! 9>00E,%===SE:D:>@BBK6&VWX])\8?9&8!PAH!!>E
- XM3@FV=.-(;[!!1@LLF=ICK,VZ1N.$[;G1*(9-#28I6$T%6@<<<'BE[*OGJ9"
- XM>H-1%<974=W1J!NZ?A5:;,.M448>\LI!QAPAPJIN D04840053!!151AG%$?
- XM3F68$4:RDM9!!Z/%Q;IN$E2TQ;##3T9%(J L113N@&%<ZR0* _Y'AU\:RI%"
- XMG.H^06^@>-(1AIY0S2&2':&.VF1[[(&@;44^DVMN&60$/# /)M'VQ9]E^$#F
- XM2$=_"RG33SZ\*8DNT9P $NT^":^#8[71!FW'WLNUOOQZ]:_38C91A!-5/+G5
- XMW428O62DC$+,6!LDANRS&'!J#$423G :!KEEO,O@DV:T%!C?"S&UU!@_Z<3F
- XMU^W!P90;88CA5Z4)%($%QYQ>VA<=4X[48K6OW=O8S!I+8;#N4R#1.J9LP [5
- XM[&Q8:_L89> ^,!1/3$'%%$-(D004"]_1%WY,V?&&OB# (>B:#I+^W'!I%Z@4
- XMS2JRN^JA[3%&;PM>A1H4TQM]>4<9L056OHWM!6XH"&7 0QG&8#&N<2YCZ@H@
- XM4&+4J/ I<#%,.91^%$.O.[B/?0"< ^>0,AP4<,%58BM"&,: !@C>+#X[84E[
- XM#O,@.$2E@6CXRE]"Y2R &21E"C(4?E"0LI(QJ%)CD8.]RJ64R04.+/L)C(,V
- XME<,RX,<K*C,,'#XTDB:R(04LJ-2X7ABO!C:L/2B 6[_^A46]#2=E^]N*_Z@2
- XMP $6D R50@$44T8UKJ#D-7=8#PFY^)4D]; .B!N-JPQ"!7E]K#[P*A.8F%:I
- XM-""&-E1AX7Y>4S01%.Q@":."" P3&!'P303HJI3Z=.:4HC6'@4\I(N=:PB:6
- XMO*LB4$K*<%BXJ9SPQ0TY"E 68R4Z-Y .6(PIU49<%[S8<<5# '(#3,P(,8E1
- XMS"%4G .ZUJ48*Z9R<YWKGV):@H>*Y-$D)7P<4MZUPI'(*#0G:$^3=JDN**&-
- XM5^8;3DXT&!%#M2>/CQ(469RE-3) $@1Y3 H 1UA"L+6AD>UYC%_\P[10QHH)
- XMI7.B.D%3D?\E90P8BA14_ E(0,6A#EKRG".5-*SXZ(PIE?IF2^;@$^35A"'P
- XMY!^!PC LB\XDHUS;*%E,1Y6/AA2,EZ)#I?QI-"T1*PRQX:*A0"BP!#1$;<AI
- XMSP&UYA)#D2$GRPI9'2=%JE=.#H<1!"B)PEFI<HED.#LYPT@Z,TB80C4HZJ1I
- XM42M*%3C8:S#XZAJ;ZL@>+0K'H>IB5R+A]9C\;<@,R P00/48SJ^XX005R=[V
- XMN&8LN[[A#'((PTMV4*G,)G$C^QG6NZA"S,B:LU'64XJ:S->PP;R478^IV.MB
- XM5ZGC>6ZT ]TC9D):*-$&BD& $J/<7JL8X?H+D=-2%V-8DE-S*F8.=O#/9-V
- XMH>V-:PM=,%MFAT4E'3%PNB#6 3$$#-P@%0*+#>?9Y4/)JVIUA)M:(.0"""
- XM*WAE#2P=(57.)((4.*U2];UO?I%'DM&(8&,=PTNLH( 2S&IV#@FP&]Y0)P*R
- XML0$.B,4/@R^;V9<<N"X)IO!3XYF>++'AP&-H QD8U2P*"X$-=: *%BS7A@-?
- XM$F$* T$WG0."%IC!*2JE"A=0)Z86B,$IIHMQI3;LX)>DS@E$2,#BG%"I*OPG
- XMF*&"L(2K0.$?F<%>)9S"2=;BADW>.),@T)T1>(<$$3,F)XD;\.S! F3$\(
- XM3PB"%(A0Y2OG2"=/YK.<*&,9,]@2)%F8@A6,<],ZY 0$/%#)'%Y0*J1($PT^
- XM8#1&'4T5'HB$/70@@PLP71E9.E+3,'XT#P8C!VV-.M.6:;2J6;*4-[P:U9R&
- XMM'_R@)1;%_K04TCTHF.]Z5F;A4&^EFB/B)WJ3ONP*9>&M:G-@.M9K^0%5/,U
- XM4XKM[&O[I,/:EG6W)^U*.KPZ 0'A"A3+C0(9+$0%DV%VKGF A1C8!@LI"3>W
- XM(5WO>S-/IN-K_M_0(L6*PO 9]WOPO^$U[=NMK./G93$JYJ.-Q!U*2&.'W3
- XM$ ,<N&'4O)'WHT70+ QQSB\@USC)B]>&E(N<*B(X X8TQ(9+AWS; A?!<LV-
- XMAIN+F[[/:7G/59Y:E^,\UR)H4LH54&Z3B*58@5%!DXSP'B=HM@P)Z %]'9*4
- XMU+:@22+@;-/'\/1W$:1?^&UI&:@P,JQK/<!R2+M^P\YTG?V'["0TNPK0/N R
- XM6!@.4Z #(+-.7[ZKG>YC+WO4#:_?OZOH[8Q'G@Z($+&)!8^_G%6 @<SDKQ'
- XM_0QE (H=4)""S(_ EF&EPA.6T!8GB&D&,("!>;I'SC*HZBN";S5L[!/C]L"[
- XM,JB_V9:_<# JP$4O+8@!\",6UN'/R@A/J *4$R#[TS-?^'>KPA=6+R;E6_^6
- XM^\W^%Z;LA" (H2W2H4REF18Q $[H-7L8R$%,) <J3'<C9[*_OMRPD2(H1?])
- XML1&4YTS! X#\!P)0P!0&N$L'P78OLW;W!Q)XU1@+B(""8H *T =ZL8$&2 6\
- XM5@:9EVXF5R;#TAP9-E,GT2B_]WT1E !! 50P#=?X#S2XP1'@ *78@8;43(I
- XMD H0"JMMDH_F(,[:!8;,61BDH0_N!-Z4 :'@8-U8 8+T2(EXQ=N (52V&,6
- XM 0(+T87+!WX,$7U.0 4H@ <]B ),Z(1F4(8+\0*_U81/B =; -=D (S0R<%
- XMP2)ZN(=\V(=^^(> &(B"N(=YD3H[UFKV,13H,8B,V(B.Z(CEL7FZQQ05D681
- XM V8=,A.DQUF2.!*4:!!#\&9Q]BYDD(ECL(F:=XB>&!0&P6"4*&8RY :FB(J=
- XMF$J56 1X0"*S6'JI:#FK>(NY2 =.\ 8-X09\01B[R(FJ:(NMB!)((0?_H1/)
- XMV(N<QXP@@51E8%]QUW?36(N?R"%O1@29=0;=N(S?& 3D<B;EZ(O6" 6"LH[5
- XM^(W#" ?P.(FL" )7H#E@,@0O4X^_:! _XDK0^ 1,< 5-0(OF>(]&\&9&\ 8$
- XM- ?^:(T_\B,P8B*#H8[]@9#L^(U/@!1N$(HI409JP0:RF)&\Z(T*F2!L$)",
- XM\A53D 9-.)(EJ8DGF9"5"!QCL 8R&9'?& 680@<[:9+*N)'W> 1)D8]N@)$T
- XM.93Q6)1)001I( =*>8HU2925&'@FH9-.-)-4&8)Y^(A@&99@62DCB!^ <0>D
- XM"#$8]2[AI4QY(99P&9> 6!Z))P0F]G0#M 94YQ>HF'C?.'5WM)=ET)=VYW3?
- XM^&V/<2:$N2!DISV7L2IL<":!)P=UX!^+>7<EMG\>B!0N8EUP8("7Z72JH@+$
- XM5(IW- 5(T95UQYBP\0:/226*R8N)YYC+0B)"8#$8$YJ-Z9K#\65K<9L70QM$
- XM\!-AH)NM^9B^:7NC,9PZ8YRT:4=K89%2.1K&:9?-HC*"V01OL!1\P33.R9M/
- XM<E7V=R8RT17?B9PR))CE^09, &JHB(<])I?R*9]DZ9 ;0@;$^9;SN9]B61X*
- XML'Z'5C*561'Q9Q2>MX$$037B X+H5A";4D>^4D*_9Q0Y80=?4(EZ4:&-L0,-
- XM"C% 0V!2\2@.PA3;60;8]AYM<QQK,J$'0:(7BJ DFA,<FFXQ&DF(\: HRJ(&
- XM\1_/\:)ZT08\RJ#IMC;<J2A4)#+/,6@:B* 'H9[&^ :9!Z#M)Z#^ 0(%>A '
- XMNH$JP"@8]AX+.J,%P:4MX!>Q@1\X"B@+.FA&T9XL@: J0#5,T15L2@=@"D%M
- XMRD).VA7II&Z!$3E[=*94\7M+RJ0%-B%Y"J64H8[OL9[8N:A/&J4?&*!F,: @
- XM\ 5!A3'XJ3-6*G\&0:458:FX21N9FC(J0"_=Q%D&"G5N^J6<"@+6B1\P.@<#
- XM:'ETVJJORJ3L 5$L@:I-VA]08!9Z@5@SP:L&D:5ZH0)M- 9U^FP-TB@6)4 $
- XMI"P;P1C<(P*'6&-J>A#/J:6'TR3$RB&^:A8) 'KTXED@V*J>EP J0*Z#T3E?
- XM\"X.PUF#RJ27*JK$F7G_&:E3.JE5>J7%JJI:ZC)^\:W&:A12-QI6]*W?"*.V
- XM1*MUJCD!M"<-2S'U.A(Z:HT(Z@85.P??>JL(VDN_-+"M6K&C2A!B<(R[VJJ4
- XM*"9C 6-MH$QU^GZ&$A@L-$]1:4#-4@<OZWN3,:\(VB2CBJ_I-K'!DV9N$D7Z
- XM1"A:\U%@0R X4B#X\7MU&:HC<:W B3$@H'7^:J5<.YD, E$ZM!$B,&/.(0(;
- XM@3=,P 0@T <,:!1[ +#N)EE<+8)PP1TF[9KN[9M:Z5H:[=P6[=L"P*M"@,;
- XMT:I&D(AS*[A&0064F;BMRK@Q5KANJP NF(ZC88J%ZX//J0(+8:TT-AX'P;89
- XMF'E3&YR=IV(LQ@97RS9:VZIO^[9>VQ1@ZT1B.P2H:V)F^[=I*[H;^+9Q^X%W
- XMZ[=]F[>\>Q![T+?!&[B#*[E-BKC,2TB-^[SI$;V*:[R4BXYP,)69BP*;V[DI
- XMMF*XVZJBVP>D6YADM[HC<0=S\!6^*2CHF[6;ZK9=*W%G,+ML(+9>!F:YV[?*
- XMV[MP^P9R&[S!2[Q[>[QUF[S22[C5:Q"'6W..N[C4^[C1Z[J4F[\Z@0:8*[BR
- XM4K?BFT7D2QFEB[7J:R\Z XWOV[KR"[OT:[_XJQ,E7!$&N;^ *[T&X;L #+RZ
- XM*[QU2\"NB[PYW+\'H<"&Z[P+/+V16\20.[<4G L^4H$:9!9M,%IV\&C"\+F
- XMZZI4"U#KVRXP<L+Q:[SS:S+U&U'W2U\_TD?#H2J"*<.[2\-<^[M((< YS,-N
- XMZ\/\F\#2V\"/(;U)S,<3/+E,7 8420;2J;V4V[=4_,&KB9GO&T D8I!>O+6O
- XM"Q(K3,9BBXN%$\,(7,0U_+\!G,,#K('%6\-V/,-%+,1&H<</W( 1#,&1N\28
- XM3 =/W 29B\A&,;[ERYJ-'(R1[+IA_+663%^QS,9, ,3R"\>)6\IX*\H%K,S%
- XMC,=%K,I^?,02_,J ',L9?,@<?,L>G,N,G,6/\6T-)P>]G,*>C,/.K+><_,8W
- XM',>@/,?,W,,'_,/0/,0.G,=$7,U*#,@^K,U3S,U5O,A.][XJ@!):@KYS@%WP
- XMN[4F8+54N[<F\+VIB[X0'<YLV9(4W:HF,,*7>,$9;10;O<4"20<??1 A_15H
- XM7-(&80(6[5E>H=(@8 *.3 >0_- :/=,9K<AUDBZ3D7A 2YP$42#Z@BI:$INF
- XMYTB'=C2VI "SFBQS 4'T=3!\]1FP5DC,&V4 9_\N=6/6(@7DB$;@A('1R^*
- XM^)5<?=:!Z)\!H0)LW=9N_=9P'==R/==T7==V_7L*\)QJ0=/Z> =G8K]S\)ZT
- XMJ0!(Z4]^/1I#T$<M@0)D\!"X$]7L<5YR=1 JT-AYP%E;&Q![7=A@\M=D'-BE
- XM=[&)'3DM 8MDQMF'/2'KR=B.+:^4,=BH?2:45S)OD >LG0>/;1!0R5(*,BR4
- XM;=F8W:JS;1:U;=I'V=?D^:2WS8M]8,6L^=.:*A"@)R0729TSL[70G3(&H0(0
- XM8M"UFJIFAZ MT2M;T 1!@ 50$ 14@ 2MUP4$"[#'&J'O'=['^B7/X7]V,-^!
- XM@:#V7090\!-H4-[GG=[KW=[Z[:9<YP:IU=_X?> (FN +SBO^#> "CM[JS=YW
- XMX]Z4811U8K @$ 07XQ)3Q$>1,QQ#8T>\@A..9 ;MPHIS0!9R@#PVA (QL! .
- XM4D<+VEM*TJKH,<M;YGY @Q)N("$580>24SH#RRGN!@(D@ 1/8#<OX (0SA1?
- XM!QT\4)95LP.<,@.YO=U,[N10+N4>Z77>RBDTL! D\ 0QZ 17P#A@7@0O,.5N
- XM4.43X@)7;I]^X0-:C@(UT.7HD>9KWN9.\.9Q/N947N8H8 .9@QAELB<.4CIO
- XMD%02TQ<;T1RKX1KIQ.,%45K&I'2:/B<<'J9R,"QH/#EI7I!-\.,7&Z'P.]U)
- XM,7HBX./9UU\*BQ@HP.HAH'7#:P(FP"G=?;1:)]2"G"K4&:%V" *YGL,SDP"X
- XM5P>Z]^M:DGFA#@+3_>5/7@39:A ,[@9VT.JA]^HH4&'73NLJ:^LAL.UVL.SH
- XM#K\B0'>MFFXHQ*\5(0)-?NU1+N=T7@>;=+$E,P8/@0+]_=]243\2CM^\:!3]
- XM_A, +^$"CP9B&^7DCO!F(80!#^ ;,755=W6\:!R&UGY/< 5?D 0=YP1?P 0S
- XM\.ZB3NHE;NJ$+N9==^A6CN56P^\3_^_C#0<$_QP-?_ 'D?!T@ (W+[8N$/$]
- XM/_$*'_0@< 128 4NP 1#X *[+=EY %$3A^4\;Q CA0(H .T5$>QA,-3$/B%
- XM+^+'GNQ]NQ#QQ^RAY^PCP?7?VMQ7741FD 'D6X?'_(C7_(SD.U%G&YFH?(P
- XMPO+V[O(*#O,3PO=9O_6AX=WP*^Q$O2746?%24?:Z7K=H3[G-_NR+[R9OWZHH
- XM3^VAQ^1J?C>"_N9\+^?KKG6NSNWA/OIL[N;C?O5/8>ZH7_#<ONRU?]_<SNYT
- XM9Q2?'^^46:7T[OJE;^__5N@O/^=@Q_?]_N^Y/^$#+T7)C^ZR[_-R9.AN(/D.
- XM3U\O</Q$WZE&__//W_ 7?[D9_QP;_VL>#_(BCP,D;_*?__?'$OCA NBD#_M0
- XM?OSXKG1W?G)5P_PUS[8AO?$'X*I?^!M[O4+H?3\@)(20GM)C>DX/ZD6VWD;U
- XMSH +L'JUCE,H/E8#[&8*V"MJU.GF43YEMZG47NYI>YLOVHFO4B/WZ)Y!L'OL
- XM+^^9/+X7_T;=_%L*]8_XX3\XI_^P7[Y#?+9N PJ1#NCXPEX=N'[3C^$5P(5@
- XM]BQ?"<Q\*) #JL!;UJJ@8 YS;7A(1. 2ZC:=)L280!(Q0C'TB</W95(<'4%1
- XMH&%R "9>(9A(3Z5P)U.A\R@VJO#H_$,=V!"/3U6DP7!1FHS :4I-I&>\J(\Z
- XMLD9NX%-H#TAD*@0&J. @EL)7D"XVD*4,$$<2*GI+I9AE!,YW0)$WMQ&@B X<
- XM=,8O#8B!C0 EDA8_^1\GQR_ D5BQ98Q $F@++R4)( 9M<3,DR9>(+5)!AJP/
- XM1)B+6 ([20"6KA%6'HKAZ01&3[MBHTD!3#>I!OG$WG7[?):.:%4$QK<I+I85
- XM'&V=0S%%GK73=C:"=T-HF<L%&H4A((;(T#>D6JUB(_0Q@")@U,[?86ZOC3<I
- XM@"!1R*B39=M!)V$]=;FHU]L,%G!K5<;-#:PG=45/UE-P,PK9C2"X/8Z7U+1$
- XM'@@]PFT83C6H1D"$"/SJ6U8-J[4JC.<7UI,+@%-/:DY=Q+KUK3@BD'A2+H!+
- XM*:BK,Q+3EK0["%S/VW%!H[;A6I2MBXD]H/*EK657$)]4"_ !38(*(+DR4-[$
- XMCQ1X G0ANZB^T,,,::)14#:;2OW-0H<($3M4$+@J(N,![8F8@<!)=R=-4$
- XMU R:!)#UF"%5"PPYD5.812BP$ Y1.'8L'9H440L!:!E=9! 6MQ(4 MDX.&
- XM8)(:0D/RKE))PU;!B^!B190#/]%4=3VU*!&% EN<*??!(?5%.+2&/)5@;(R$
- XMD;,81KF8&!5(9^PF\ LO8L;'" ,T8W-+ ,W/MAW&GVAUGD.E2X&PPP<(K.2A
- XM&5-C0N",/D QLL:K([90&[F+>]R)<E&N=',_#&'*>%!W1*N\!RVG+49%:7H*
- XM%>'WH,9\Z!.!XF@0BCRE*.*-+W 4DV+6HEQBH@_^P0%RV_"A'%A/KU$*TH'T
- XM. 2UQ$^<C;*ON34W\^ C3B*)J(=>L$7\B!NH3?Z&M_@:B"'O= M14REDX>?P
- XM$RBJ6+0'0R%0B!0EY!H[8290!071IJJ+OC@C0H5:+$+$\!4&V2$T8HGKT86X
- XM7E$1 L>8Z1PAHX*HC$I1!E_#C7L/L7""4 45R5=6R!I@)L<Q112-$ZDL*L5^
- XMB(+0L1,F$>L16X*A8H@?9X IV =T,1D&VX^@AT-"[-W#0$$=N\)& S(8R*5
- XMN'TX 2?;=ON'1B$@#D05T!.[0L>Z2P@*2PJR-0DC#N)!2(C;;2'Z/J.0]=2D
- XMEDP2?( /-"J_H)V*E'<Z=FDO.1VJ.84"3(!)](@@44Z!FHU',%P82L@#"<B7
- XM,(TS$8KDAU! 10F <@VW1QD0\6,=6&V6K3!2KJQW*%&B2O12++$)[D3*9122
- XMDZ=$0U7R#?S$H#@4M:/VZ8Y4H YI1JB8]<JDK+2.$P([^@5;R1V18JY$=CJ1
- XM";S%:2<-5<;%2PD5@844CJ*A!BA*5\%,)4LZ&@44T0;\X%J E>>Q.M+*[#A\
- XM<&47^(D;JS!N2Y?@+0>3KYR5U[%6EDMCJ2LIUVE\E\"R#@A+HC@OO6.RS#QD
- XMT=SQJ2S))H<#K]N3)[$KI$2'L!*3E*I4EB70*.!$#SCL0*#8*Y4*\U1:(8UG
- XM&@&( XN8!X%;MDL4@#%MC<9,"AR35;Y)\]<1327#1)5)ZE^J3(,P,:?;JRR,
- XM\S%@^CK8F+62Y;)#>+$27@9+>6D4Z:5,;(K6;5<ZL)E))<-E5Q":^I)H;D=S
- XM";_$(Z] 3>1Q2OI*]NC=N*:;>(]MAU%BP](V9I*"IP25K6T%SL<LB![RX&A(
- XM$V&B10B[A.+LZ* 8# UMPJB CA;"13*5NS@?L>)'DHG[T!XDD_T 'XJ!&J8(
- XM_R'&H"/?9!N-L$OF 2:9U^2AV^P2]J,\BA6!^*0V APH K$A*'!)WN8E"0*8
- XM/ A(R2B5*Z>S=YB"06Q56 !T(H?X)CN#@IL$2/9Q)MK#A[ 14LMZ^HE!!#)@
- XM%$OY$[<FAT!<LL]P@HD[H8FFI._LG.!Q<_Y.'Q \2P-C0 [%,VCFRWU)+,UE
- XM%*-[GS-TKL=WYL.DV?%T8/!P]J"U]?F'\@(3P'-M8JSI!/W$/NLGBU!KZ0*
- XMX &?H!0:GA8*(/SSC+B!8?'JHA)M('*[)R(,1:(Q$E)&A)HF)I#M/0PR@"<T
- XMBZ*X#Z(E,HX090&$)H?UD JHPT$ 4!O!-1YH7@@"=I $@9;U<$^N!WMY<?HS
- XM@"8&!K%"9*31^ EUTVDP.13P"=]<"G@!1R<GZ 2L >:0!40 G:CF %1<3-$
- XMH<\3.#]%8 HL46[CGQ+/@1((([1_ KA;QQ3*WQR8 ZVE5: K5:4">LF9O$[/
- XMX8N&T=NI>&B/5%A06R &P 90 ,T')UD1?!%)U!(-'#@7ET.,@-Q5 ;@ #N*
- XMI<BH1R(#!ZZ,OKI$ZCU>&"-56*S("GTKR^@3ONC%(0CDX@X<.&4U1O4.DGR)
- XM6,_6]9*>J>PPW]K3/1BQ)AH$) F_S*@JQ:0 +DW)S%9EA>!7%4H*7-0-;#PZ
- XM*4J9PA:P0DI1ZYR %W "EAV+D*2O-(_.@3T*OU09*.53G,*%:)T(]:4,0BVU
- XM&J7Q+<Z!#[I'4$ 990K+DDS$EA/@!T[ ? D(D8[5' =$F#_R@%28'!HB)W$1
- XM"ED1=("V/ @K8 6X4KAX3)."9N2EG**6\@"MHQKR)":%"FEQF!;3$I@ /%*W
- XM6XJB)]R].7('%S405$Q[9)$5T8%>H1D;JBRQI1,OAN32C:!0"Z/.O'4?-2V>
- XM/89J% XI2(UQ(K67D%0=4$P[*D!%J5M!I5H^\.A1<VKW@ HK A9H5QJ4D]C
- XM MBHTK1[?-06L4\30-#Q=[;-CT8A'?13#Q!2-:E2U0P 4J2J%*\@>!RETU26
- XM=-1:V@*T#E+MJ)E4)EH<\8$"LJH4ZJA9+ZWJ5+QU,-,H& 4]8E1,M$J[0HDJ
- XM8ZAA->$0+DXW;O+S5DYK: /S92P0BL=2$6[)<)@17$ $E( Y$%E3"0B(K),U
- XMLG*!,H-%>.I3Y'9_M!-&A#-@4AUJ:+RB"^'669P?T#TLSD^T.%_ $8* ^7+V
- XM_FGH8IIQ]=6]Q00P(&[=2&NE6JY[_%:K04VO3G 5KB^,12P[N)CURNAO3:@T
- XM=;<F@'S:2%])1[44?60-V-3;*B9L8W6%1IY3MZ+55OI;@^HMO4(.55UR5Z.@
- XM3)FIUG&F3-.D,(488ULYQS@E >84MP9!LJ-U5$ N70$U;B$D5!1P D" 0>6O
- XMPG0/+%2,^HG.*F40$Z-T!6@=&8!64RH0@C-Q9Z32ESZ0 BCJ276I<Q5B8M2;
- XM:E?#Z'+EK7PU*/C5G"!$ NNX"CV$-=PUB\,Z7[3%3*$#>V1 G( 2, 8*+%0H
- XMKDD*LU)6$;!9^XN+'0.B52*85*-@!5.IF+"H'W/$VD1.H4ASJC#M P7V8)*=
- XM9'<"%*QT)94ZX:[JA!.[5TT&'5BQ@%6#)2&C,%@5B(QE#:YAOG2%LQ(R3@"6
- XM_1: P5V @&+J8T>"D-6LG/5[ZM6#@"1-:@1%I20Q>H8NCQE;FBN(%:8I(,OV
- XMNBTK3 GLE[5U)1:ODMF#8 92[)D%C"Q6#KA8-@MCW:QAC;/JALZF##Z+9[V"
- XMGK6S??:R2M8A6V0[:Q*"BX7VNC;91#MH#8)1-:I(M94NU:K:49_JOW.KGK.+
- XM1H5>@55!ZU3= ERU)3*!L2I0RJJ2 P%!-=@&U1J'5A&J4E4* -:V^EI&2Q4P
- XM:C]U Q76I_8[D4I=E6U)A:NB5);LUCM:(GN%L-T*3)4I;%>#8&RCJK/5JLG6
- XMJC+;?0OD_BBT[15=U<G"1;)J5CFJHCT*WO:0=E0H&UND++]U"5"UK?Y;JBI3
- XM%T-26+('P:W^TJ20<'GMPA4H6J<T@L?32 7AHFF%J.#.K:K74!I-=2M#;;#V
- XM5NN<5YR:[N MIVBOP:&$',PJ^U"%*3&=MW5/!8P4Q8 @*L(+ URX 6\@/X&
- XM6MB>XZ1$C6+J2CCI"!<#P@MH SJ+I^B I[N^I&Y_ZS%6X^N&7;\P=OL;UVV5
- XM4 0%:#D70EQCJ7$]"LJ5ISI:4FI.%ZQGQ:?Z]+H:!3&07:_KKP6/_?;6A5=N
- XM!UH&[E?%M@T7#G14H/L]M,XU!0$?8>C>NN0C8(WN"1"W:TN_!E2!,E Q[W(E
- XMO)%#NS+-@' P\-9Z.XI5X @@@7LJ#4,$<[5UWW0D<-FC"QXI;PEYKX@+]%Y4
- XM\)CUSATV6J9!=[FRU^/K7D%D1QV^O1;;ZE-]^W#C$S*-OO)U0IRK)\LT62YE
- XM@P/Y%'[EWGP*>L^M:5R!!BNIIM*;ZGN7'9 EBCOW_:: Y%-R7>(KM8+<T@F(
- XMBMAU!FZ=W45_6)!M%@02DI<$DQ8BP/(T<#P&N_DHSB!Z21OE(E*PD!RW/IB)
- XM(U0>9+$]H+&A2)>NF%YX50H >NE]X "1A 5N9+OP7,6P$ZZWXZ5"4XF&^%-
- XMI6!8*A78:,'Z;5'IF28^V0IS6=\+I@W'+L0N.RL(7R5>C/MW$6HC7.!)>@"3
- XM\/J0?5:0AXP!&1?8G+ 4V#Y+H/.:7BRXTSKP<QL-V5(!%$&+>02I1I>[P=N-
- XM:K!1.+DUVN-W6YD3HF1A4N_V3+E>2FP[TO9;V>$F84WN(FKUJA(3-KJ XT"
- XM%N-<$ )5@ JH'B>@AP6QQD*'\$OE!F+UZ ) UE"$7TFL$5/BDQ65VM1=)%E
- XMC7,!8I@HB%N6SE(FD5@'8]K+%9A(,-78"": ZVT$5;80?(#6&3ZKYRT6WY*Y
- XM,+O4QD1_3),7GTQ96F#:@/Z] _R79;R'PFA9C,HM=@G'F&2"8>)4&,LHX],Z
- XM"_'0]@0Z++[(;0D4E(Y*4;*$0LF+$R5[6I2:463*$"'HW>[P RJ,43@ABN+U
- XM>UOGXT[#3JT84!B)$A<R:HE.. D'XDBU2.5X.IK*CSB!NP?&Z(3Y D:35&6I
- XM/6>B=XX5-@$CEL*1.@RHP_G0!>@C??J&UE&LSH*Q&L)NA2 +LM2Z8I1(#+-B
- XM-NB*9_ ZH1%J5-.R8#>EAC?B--94V\U;V2HTN8$RK4ZPP?#-8%60;^4*/0:W
- XM,@N1HPU 4@RU@2Z(C26H=4K_LI_>!$4>H;.;#19K,M!;0B4'C!P;>*;I)HL*
- XM4 +*[0SHD)N=1DX.,% W*J&T\I35>BI2ZXCEAJ>,_8(7%;.$$5F64MZ*HK3.
- XM4'ZEB:]D)&7XU14\4EU.7") #O07+;Q2TQZ8C<ECEFEV6C.+9EOLUH&SB/5J
- XM0!;I-Q( %0C(K&4&!?L%1HE_Q<_S$4-$H/,Q6:_<2B$R=7K%0"@IE[\) 8N=
- XM\AN0?68 HX0DP-A'VL N?<M=>4/88I(@?G)Q":S(XVDTK#8SK!G_1&1ZF_).
- XM&D^(^.B- Z4,D6W$23K7@?@(F&U=!5EVZOA;?N=G&H6#\Q4)P/<8,2FGP\<B
- XM#.$Y^8]^(CDZB"09.F.S9C$C9:7VM!*D?)^Q[H$\?)ZJ;K:'X,,URA(;F)RB
- XM9"K$E@!M+SC%-]DCN*4L<9%WJDZV4X)('GYC,70..>!7N(;_ ![#H8^8J13!
- XMH-&"V!A&K"1$-=;K(9FB\T*@%TRC?S@K^% F*$OE\!;J.38AE,&I"CE%X+@E
- XM[*&$..?)019*I&)(B"6:J:@+ YFCK=NQ.('M@0=@WA4J4)(3=FY.+WHM_ NE
- XMDEP20"IL+LP%1H"61I&<^*9(."4T8FV,NO%RD*VN5^X]="/"%.<E(":TCE9X
- XM$&[ $O.4*(*6-# _]AE3.,QFF .=D<4/^3$_Z,=.5]60114V19\>R96)"@]J
- XM2J$QAD_Q@0N$AXX0)_S 0/#H[XH9&%^?(55F"ZH2=$H&AHB4DP%I-(7A@7;
- XM*$U-8D]-MR9!>FB/6IX<8NT_T O <@Q94TINTF*O828NP:Q95+!C&9^V^0P'
- XM9<HFK(GR*\1V1[DWE\2;K-U@Z;%>RDQ*!=CF-4RM*=MA1 X1F2" T=AP)KX5
- XM*(YNWSHHH"\'UY0CR!90/:PGP[%KO6!%WO7J,7 S^6,U&'L=KYT (?U7]$TO
- XMP*N$!J_QM<1C30>J+-TF0"I'Z>B_;J-:R@W$ <!0(!:C9-T"7N"RTH'-V@5*
- XM@ K8 AJ[8V-LC<VQ/3;(Y@)T0&1[ 8Y=9.<U99O87J%BPR_Z@EDQ=F3M ICU
- XM8X?L$C"R47;)UMDH6V6S[#+CLM-PS/X)W^HK)$GFHC\,*;9F4MGW#E*1,PJK
- XM-I _H1?/-%TW0R<Q34>+[5196Q!]:;US3:I$<:^[C4($7(\&=(FRZ( =(EAR
- XM$3EX,:U])MAV)W[#Q8HVZ&JIG4Q2\2OMK5KNQX2>P'9!=I!??$(7I(P0:]^\
- XMY[1U!-$6*2"?ZF);=T'F4##=LR.@F,97O3U?SQ7EZJU)]8)H.?;0=[PI'"@]
- XMW4-RK]Z"4 2: /7( F/1* #,O9M0N0 ,T-R&D7-K7X#I&^A>01@I]^,$)!(V
- XM@,9<=0/=%8EB0K0E$T(5@![3_0I @RRTC[ B2YH+JRP()X ++%3!62W;U%AX
- XM"&R"*33=Q"#6)L*$/I(68WR7A;X 4*A"M0L#UYMYVPJ<\ 9T@DC^J% A>Q=8
- XM%# AN(># !J28H3@EST*0GSW9#BI4;LMA=,76! $MU!()=RF/QH-47%!+*N#
- XM8%:&\)X:A&^"7BKWSDW<6D@&7.[LK;UW:[JI=A%AEB"&>#K @^Y83 >W"P,
- XM51#>(D0X_,K>M[NCOJ U1P1F$!6H03=(84<AL45?3.H.ET$TB'$$<3RWL#VG
- XM22V^#IQP1Q##31E+< 11W/S9-RO?@X!ZOUY']:;)FOR"1] -OT3W(2S=911U
- XM@]\5L,49. AHW:_[A<ON[KNZ-72%#"LL)($?J7TLV0C,9A4K4N&R?@0-SKRW
- XMP >_XEHH!G15'/YYF>81AS(^'(B78"8^Q.E+$0>]C[R')W$;-,E/3A/O'C,7
- XM!*2;<7TH*L(S,A_(X4!;<,5 MH'0@*J;L1M+Q6UU3;5^8K*"7_EW_]*O3FX?
- XM%G8H%^* E [=<-O=R'-W\N;;K OS@EXJ(;:AD.G*EF:;4VAM]/49W78HG^99
- XM["//<I)6RW.C @&]47O[GL;>C1Y&BH.HX+)D+>OO8Q%T9M;\UN-]6T%V%6C4
- XM4*[W <]Z,5P.S'!$7L-'.!<HX2 S;Q_SY0V5F68^W^?T8@J! !LN3(GY^4T
- XM ]MR#_,<_KF/]F(TW7Q7!"Q4U@JS"<.CJ+$=O6+/;EOW10_(&L)Y?*IB3ZM@
- XM9EG. "F4 PYC(4CI)9?VIETX:U<M"008ES,".<@)>_DG; .LW Q"WBLG7J\H
- XMP<%,!$R!(I#>I(!Z>P)2H+^04K?(4+&YZ4J,+%%FLJQM3LU] 'M@ALTT^()'
- XMJXXQ?J*PXJ]>=:NG;5I^U7W +=?J7IJK=W.2?/C@.C.G6F.;:D'SA7"VR3IM
- XMJ.9O>ZS+==,%O_SZG//FIVJLZV[Z2L>[K@K0$HJ02$(&%^ ""/ED[JN@%K!6
- XMWS;;3=XLC<49>0* #,%%V)E+,E68K-,JK)0 ,E!KOV>KA)F)RW'3"\@->J.P
- XMI59O< %G"L>3VN^.>DN_9%!&JJ=%JE[3DVY<7.LO(X.:8*Y1L3XD/86F%#J*
- XM$'+#_A-S57!8C)E8]*+M8UVW\Z4U>9@QS014W]X.!Y!ZV#KNW'UM>W<RQ@13
- XM[FZ]["HVL[?8A\O9"^N,1;5,A(PYK3E0L?<(5*@CJ%U^K_;6SE.%=0Q.UAW5
- XMMHN?2ZTL0:_W=>,0&+=,&;TR A0/QS(;(*- #(L\JC_-0@]1.[&<YO+FF7#4
- XM![;8FC*YB\M-]>6JX+?CH8:BH5S9@,<6KWUR\4,OZC'.MS<8L05BVH)P=^\!
- XM';VK[0D!-K7B,S;&NER,F7<GPBAO:LD@\>7=Q-,7%+\15/QP7ZYT6[WK:4"A
- XM=;+[ZF::Z*$X7NW-#*-1R6.H"%O$@8#&BF6X)22;Z/'8[H* ^8*P%,B 2+9T
- XM6R1E5*PY?\ -U&(7YY2+NN?&K%Z,CW$RMB*,$L>GF/+^V^G+F5$8/][T!GDT
- XM3!!JE6%<UG$28!JHP5[6O;JL:HR8N'%I^J0[YQ&02MHK=_N%[!\4]QH&MBUJ
- XM%"T],L#%$!\57BJC6 ,\!*8ODTV"LBGJ3>UZ/I.APO=/2VLT>Q*J[YX=U79J
- XMR^J9 WP%'_"!ML##]@/_N&]S1^W=OALD_' E_@54QP\/ D.@+CR!QM$B7I*;
- XM?_0+HVCL="4\+[1$]!1U6@'YM@19;\#'>-,-;,@^Z9#NR6%0*(?EH(L& \<L
- XMC)WN EH[J0BU)I7&$Q_<WN ;NQ'.N(W>;8/>Q5@R;CT*\&'MKO1T*!3N$N:#
- XM4O 6+,35$W5;!^SW,D37]1*]H5-TN A]@2'\&MC7?@!KA<ULZ5+CM^ <1G)?
- XM&(;\H2!<"-?EX,V;NX7?_DH'5'?T33=PG K [K=[$!R\O1R5)-VH,_H=3U^V
- XM3*0G[KCU'B$H\SSJL=X65$S:>:_'-&G.Z?^Z#Z#KVSF4DW)5H<V1>[F.K]N<
- XM[7,*>;P0!#W:!^=Q7[WS8?U^Y W]+D?T77_V.0Z4+\QK]^TVX0)!KQ:$XIA'
- XM1?*V^0I$KD!7>^C.0@UA=7$A#W%\PM#[\>XGN(=N%$2E<#3'FA!01@+?^)!H
- XMS%@GIA0!!8>"X@?D@\*TC!DB-SEL\PZ"(? A5'L3%_H_ML=B20J=/[I??@@.
- XM^:.*XS04>?8&&A$*\D JN"WL$:\_V[S[ ^Z#9'M2N,UB7$PD/O/<FM7R>B[#
- XMT]X^MP%!.^N%?% (U\E:IDMZBPN=OC]S*DY9?CH37(7/X(LJN:V^SKE%![^?
- XM%_^WLX.OSC,>:Q;LK&3=$@DFY?5_ZE#C\L39.MQ?Z:6140$<&931QCUI5A<*
- XM<-L9'PU?1:7=<7]IT?#QXK4%6%[>1^3Y %L>5=#EB7H/UJ;G]J4(.A<V\O8Y
- XM=H(?VC=7I%I*@3=4!E@ZS=W(QREP?\G. Q@!$@&[U5UGNN1USUPH%LUM=W);
- XM-Z<8!79JW;$VMY5]AYUBY/09<WL;H$=>?$R*GHYW6?1&C(/5IX5A?<S5UT>=
- XMA'U&8 I@ B"!;%VGA_8Q@0B/"\@"FG];&]ZW M9U<U^W)HK9?8"$3K89S8%U
- XM -34AQ5Z21Z#L.2=9W ?<M?5L2OF"ORB.B$E4XD<Z 1V<XB@N^+J:74J8'HW
- XM IIB.\O+QRBD ;E>3.<(#GE]H%?7+.DZ3U0BMH@M<V$;7N?,82IEX!DHZ"V!
- XMUQP46-A!@=7<)WC^O8%KWV@ SOUY#QVO%/7E>%/?%NCH)0%2@!>XX@5YL,D8
- XM*(]Q+JX@+7CVY8&"A-KG!M*!_9\MN+6%1G0?'-C5W7V%H"48"NY].@0N!XT%
- XM@DW!(!@+&H*08%* TYF 2<]3$I4T@MU@$MC618(MP;NBZXF#2!XRMLL-;.>@
- XM-P@\Y2R98,IE#79WA!BM<A&5@HK8N(<*VB:J8"O'UIB!:" WU];!@M;@$X@.
- XM3H3?7#QX"]*!N>"$L L><U:@+\@ID'>W#M4G I!#3$ 5T 0X 5/ U;? *1[J
- XM2JW"-%%\9H'%)^7Q>G2 K_>6E7R-&9C':7E:E9FHM=F56IW=J969+7M00;.W
- XM3#Q[K%VT=VO!108>08#@V7L6 [Y'%!96A,,7Q>^--_Z>MX 2JH0LH4ZW+XP1
- XM!5^@=?"Q&@G?*;567("YW118"8*"_Z#+@HK9:9L@T'/-\8)/'^5RM;\%4"
- XM /1Q"B' 7O@2;E,D0C=E(8T+H$FCUPQ>A)W>66>'O(3V%55 ?Q@@ME>#TOF-
- XM%)-A!**BT0CQWOPF K1TF\2CUKT9:3.$6N9-R V=W_.W*Z@-[L2,IC^Y$=+*
- XM] <>V4; G.?48!AQ, @2M^UQ<K6A)>=A97*1G!+'RZDNE1P_&/-U?M];2;'-
- XM(6] P0/'0@!S 9P\Y9^Y>N_"=A$HO '!7[%0$;@C:( !LBL\&E/%_W!*R(;=
- XM50#4"2Z%E-Q;!1X!<RG?GN70@4?IAL2P7N1"9('Y-MT%!U0!=T@9$E^V#CP'
- XMA(UWYF%O:!R"1S(>]N4,OG6 H#ZHY V(8L)>&.HQ=N%1X15?X8<(B (R752&
- XMPUY0Z-J16B%.47C?9684VZ. %)9V9!"*XNRI=DVAD27M_6*QW50H)G1:52$*
- XMD.]M"K,1,W'Z?05,RZC6:L$+$Q[!1^!%7^ /PI?@J86< EN8 78HLX+N .XA
- XM 45 W\!U=7&J%UQ4>\&'!<&+DZ1 =MZ"5_:8W'I56J@F0(5H:B'7P'4YB"<@
- XMA(A=I5Y38,Y4?/F'NA0RF H.@:N@O1+='(&OH +!!LIRC&$R5R<F=@E <T,%
- XM33OT0OZP-81!$])U5S$0=CR2F.B6%2O.H'7GB3E?]Q>1: '.:>F3 :9Z'^4
- XM2HM@,X H1QJ))N\(:$=%4L$@C03.&==0I$$*/P1ZD%&%B$<*(]0I'C[S!$ V
- XM1?1M=03WHB/8:JN?,U1&[ >%R"-FNM0'6T%!2#$X$2Z!\5?F<6F!0NA!.<TF
- XM\E#^!YWM?R33%"$SV&1Q&%"3DTF+;)1#* 9@BV ;4Z875"PR04Z@)PB$K]2V
- XM:!<1"-*BW68:9D X2+KHZ>DJ)5\2\Q:%9X.)N2@S:$;V8N/C+G)BIF$>AGYQ
- XM6G&7EI,O@G<'D[U8W<T!\"(IY4Q)"M)BU>0N+H$E4-9C,'IZ8%U:)"\&8^ZB
- XML%BT:!W@XL>'!XQT&M#$N 0>C FCQ:@ !GGT8KMH%@!VH)?(^$!H=:=1QR@N
- XMBG%_HG$G,T8L1<,_44E5!++$,&$QS',<U*.@P,!0?EG8Y2UL+'P/B808Y49(
- XM(\=(M82+ 01ZEC\% 9'1_6#BI @['1@A A@@_445%1A] ="%=+'J;2V4WI8R
- XM71!EX4H+MA?T!]]*!_*!' 2WWOHAKQ JG4ITP252%UG"&G!==%62#.4B J@9
- XM;$;N8L&\(_W!1J 6=&44R'1!Q0 R)Z&= 07@&7H&$9"[5$IPAIQ1BA2.$@CB
- XMB#Q@( -XP@%U"!4P P2/10!=T/NXHH$!0%1!G,X?B@0R/ZQ.%HOFH'JP#'D
- XM+M@,YK@Z)HZN8^<(.WH2JT/H.!=\ >20$^ *%8.T8S RC!0CQTBW9#M.()NC
- XMXJ@[UC!^HT$B.VH2_4<P,LL8CLQCZPC\/8\ED CP.8X^4D!=$$69CL[(8!"-
- XM0"3+H^:H/68,H4L!XS?.!5# _N(0J([9(^?8/BXQED3 ETD0,P)(8V0_^EKN
- XMHV9@]<DQ^8?S>#\RCI^$'.-_D '_H]Z"/U)Y[TRDU$".,MTCG,<_I@=MQP09
- XM0(H 1H#C2 0X=4= [K*0' CB2,- /ZJ/&B3^. 4$ 59 $? %7 %0W1(P!:0W
- XM=T'N,@5@(]J(W($\G)"L8PKI.38/ST/T,#U0CQ8(!H,YZH<&) ")/_(.QD?X
- XM*#BZ,$X,JH,]HI!)I /).':0TP/T,014 2WA+,:0."2@ 0^).VZ/!^3NJ#LH
- XMB3V<I?:L/9C*<D1C:/N6,9"3UJ!JX/\,@$- \NY%+'!#@!N4M'DA2 )(]!
- XM4#(33)$]9!5)0:8]'&3=PAU%4:J'[C"#) %:0!Y9!.R1(J1*PI*X6B])3+*5
- XMO)'KX^LX1XH 0@"XMP3,(),D'[D1X"1:"4G"2?J0NV,44 5P#*0D);D1^"0D
- XM@B")9&6.A60<J40RCH+. -D.N@&,X.6".1:0NJ05N3LZ#W;!*"E]()-#P"BI
- XM1YJ2E$Q68DL2DF,D^ZA$*C(LR,W $A8!2X]=$$6%(=('&1(VWHV'X>DV>Y23
- XMWF%[9B'Q32G#W;C*34ABD20Q790UXTH:4)_]$4I#I+#3<1+)HOIX0ST',1*;
- XMD*;X$_8;9%$I]'?AQ "E/X$:1D0$8@6]9X@1@<9 [!_+H@>VN$P7<HL"@$Y.
- XM%_S;^-=:22'YVK$RY*"-,\&OHC:641@&&[6P;"!I0!KP3/56+64J]A2D 9 &
- XMW++4=9-WP10PNJ4!DEO$:.Z0A$/.#F(W3A?EY!;04G8!"]/^ 2AI=^0"8I#L
- XMH "FB$E)$+1%RQ5*B1CH7$/E_E%4'I4?$=O(-%E!XR11F3=>%UQEW/B!G%\U
- XMHXC75.IE4&7:.%6:7I2+50F_8"_P()-%)&:&^X?4*%LX"W[0U92:Q"=[):$X
- XM_XQH -JG:"^00EM!HKCCJ(K!P8LS!N@('-30<"7)9\]%:D()K1+)1.A0>_0F
- XM=X2/]"HZ";U-D?92M$M\TP5G6?(%F*5B82P41V< =A@KV >T@07DA6$FR9#5
- XMU 9@3:>(UA0K>4XOF2T!'PDWDI,_]!!\*V+2DT(0Q4K36K6(DV%2.AEXHS;^
- XM-A'#;,1&J0I:BE)FJV0Q!HL8\+3!*"[ER*+7A6)BP*@2@XD!I!S5QA5<&-27
- XM<UGID0B)5)/P=QPX4\&%87#) #5 #:#AE#O15)/P6HT.0]%;9 :@ER-!F;A]
- XMQ57ZI6R$APEAR*"MXUL>F#X3>+1@&GGLT#:B=C@@(@M<Y#+@@WZ?DO=@CF8=
- XM4X%H%%R8TU2!*5UV8]#7?PE6G4^/@6:4;M!"+4 )J#*4$ZI<M3,;$0TRDF@Q
- XM!]Q(+<-4\!I(1T-*D0<H@%UMRO\PO(P4<("(B8<5#<.+= 1B=@]&Y@/2^? X
- XM[J43H7XE6CQ.UG-A/DR7CXK 4E!F (^4&5K1%Y.5#C!9Y2[;T-\1> 2H 6)
- XM</ X5:.!X]'WD8/]5WP)9TQ5LD_H566N8A."FYDLA7?-1(V(9<8OJ!%0V&7*
- XMEU.5V!)FCIF]4SO4>$B99^8HU&>&3:@*FYEG2ID8)IPY:,Z96E6=.1_I!6#6
- XMI'EAZ&5GST 0R/1Q9< 0 '4$-E'FA4'$]7HDU1=04[U2!,)%)"JT1I-2"$0B
- XM7$D YFQ6![Q#WPJ!\%JQ+PT!&Y!)LH-%IGJ'"<(LKU2'0]F :2C=4LR7.C
- XM8J!P6E9".TCH\R+UB\V=J]BH+4XSFJ;#)C1+%4M-H#N$!U#&?*$^$"32Y@ !
- XM4&@%#YR#T'&-%/^$(Z-"C&G>YO\@#!5BEA6@%DZ(!8]!34!UZ D4VJM@L( Z
- XM &-@@ +$E"G7,%&RA)CJ';^XJ\R4-66Q.0+ZBAC#A==2]I1ICQ@0&A$T"T$N
- XM=P>@ .A+HA<$A9?$"5:'_O"9.,BH8G(2186?,,4#+%2\#D^5<I:<@]YS8,C)
- XM<+@4R:DSK)P*G2+'=_D Q=1+F&X( 21"@>!"U!&$G!CP$]5K=(@+L 9H#O!+
- XM$E @@![V2\NH<M:<\!?.>87HG&$ SYG(+7+O(5RD=/H 3"=2B<&]F0JB(,AU
- XMKIS8ED40RHV=96<EE@;@ 7^@QXD")"!T)WNWS)D[B2+>:72V0;JET_0!-+
- XM)QECN;D S KY9RD4GCK$X2DZY)TZQ+'#4,&=AF?3^73Z5/Q7U0D>I8R49^/9
- XM=#Z>@%]C=QJ)A#/GSHEUOH2=IQ-Q>%Z>PX'6D7F2,2TCXZEZ-IUGIZ1P=;(J
- XM?2+E GT-7K(G&[!Z0IVZ3CNS??&>9&?E:7;2+_YB[MF@C%8405%Q![!')\X!
- XMD35P>/:!+X(B&11S@'24>OJ>BIS3"7R>,T@!OMA[QE''9^.DU8V=#]KOI<P]
- XM6&.G*Y&3< T<X]4I SY,XJ=;QZBUGJW#[9DJ^4SU)]"P$^QI F;]N4$E$Z5!
- XMF<#"54U7YUE7?]*#9<#4T!\@H#0G [J JH/FBCT(,L2?$2@%*@GJ>B C"A "
- XM2 K%D\[P?I(!;8B#DBRD 2VFLQ.!!2I]'A?W$PV@XH4,>!=U+[8GS9FL*$T5
- XM%T/4?B@U$0/3M!;!C?-!&7,8@5[DG(=#=:@1U82AJ"T\&E"!620200D5V0RU
- XM($%BUL1/4.J)4.?#K$?(G13X@=91%\D!H-=?"/0$H8 =>,2%PB]<:"TX$Y*A
- XMB-UB=!B%1GD19,07I2%/B&446V%&=R*C*$14<W#H:-06@5ZVT6KD ]":A&?Q
- XMZ7F6GPP"+P(<G1I,T]@)@WX<,BAXQ+V )Z*8;8E;:DY;$T]5_M6!RB6IDEJM
- XMG<]@(#&=D7\("BBZH.AVE@(I!X'J#/CBPEF#FIY2(.7">9)RA1'V(DN0)^,-
- XMR31,<&= (GYYZQ28&B-/B! N8LO.7B/;-$:ZZ!;6JA2(QNAR@HQZE!)G*!B,
- XM_F8&0<H8C?J!>F>K8HTV"=0H!:A[D$R5XCV6#+)GLZ73,=B,HT=0!<&-4HN.
- XMAK7(UJBCNJ "L+64*J+"IH!VDH$Z@^SC3<&CTYF/R0[28P;!/EJ/"A+8:#@H
- XM,QD% JEK0)"*@J >*8B()82,6*N2D'*CB5'3N'XBI/2H0MJ/DH#\)0"*8IXK
- XM&"D_NIVIBX]BG*@4A&)_: 9"'Y5S;R+6T@*4H[O)9: "(&Y2041<GJ71>"<
- XM:)-2+6Q41NK%V)UDFS[JDU(M\U<;ZB^&I*)"R,EV'J0(P5!JNA2E7UU#^I%^
- XM*PFI4OHN&HK EP-#E3JE&$-1>M:%1E&E69"2(J5W@%6*( *D5-9.^I063] @
- XM'8B65J5$Z4_$@(*E:>-8VI2JI5VI7*J!UH.3H%=EC^5/5MIR M2T"&6:5C L
- XM1_IRJG2*P27$/0X14,"SEFT9#=U!:&9?,&)9 (4^BOJ+AM&Z7<GI(UM)8-
- XMI=8P'@X:S*),&IA."._?UH,MU)K3&3LJARE$JRD9\/9M+0[AF28<K&O)YN^&
- XM,!J*EH6&8#IP%W. 2';FM7F<HF2:(A0+ I1HAQ)$'8NBX*?UV*9,@Q<#G<JF
- XM#6?;UM[]#CFI)PI7\E8R!/J2FDZG(><SE3).I]T=?/2MC*>Q:7<'#C)YYRF[
- XMM(Z1IX*$'I:>OH&IU%^:%R0GWNE@VO[I#8=I2I"8*G?V263I$CRFE!^J]EWJ
- XM#)3I_E<W$:>=:;9@5("FX4(A-)J>9*S)8(.?4BW?:6QZDPY>!RJI I[RI/)H
- XM=^;K:*A*X .!97YNW2F&FIU]J!AA-]&-HJ>G1%=WBK:GW=)[2J*V=<F*[)/U
- XML*AJ8%OJ))RHW.E:<*45)SRJV;<&TJ@C4Y&J2\FG,6HVYY>NI V<#.$IK0CM
- XMWYZ2,E!0XL,%I9A&1HSIU7CX7*8/W,:2H!4-C:7.XCELAHT.! 9)P!5@T;99
- XM6"JH@T67]FE\%'^3/%%!$0ZI$(#:I5:4%6JS**5&24?0.KHN'3[593RZM:R4
- XMG*8JQHER;0VF-O92QETTI4#X%-24!6;%TA"4!:,;Q@GU+:KH$CID5)Y+9Y\(
- XM>B']3)S6GUK=7$P-IZ>:!H"JCRCBZ:,61E!10/"H?0G.PN2 P1T1T JMES)6
- XMJJHJJ^H?$*!'ZG"D LP*1<!\,0:!!E=#UI#YA8KN0O# >60340QZH"T$!I+0
- XM8VD&;'B49E"G5"U"7&&JQAY(1[MJJOHK?JKC)^U)OQ1&X>H(N+%\JMS9NE2C
- XM?DN\JF:*I*YC32:'J8VZI_"J>B=G,BO)$[XZF'"C7%C^9!+U20\2&4"EBF!<
- XMQ (F^!FF;6H4036\%]A(I1!M"DB@AZA1C6XGCD1.,:!='Y0%L%A2% O=@F65
- XM" T&GN6AL(1&$A$"QHI:+F]!2L.:;1@$04#9$;)JFT,%_M 8+%$ERC5AI-P6
- XM,BOH85GU$'E &Q!G, 9DA_MP(_V%: 3("GHT$LY%HZ:R&BE]6\NJ.>RLVH2(
- XMHAC4$= F&V&1U7.Q@LV@RDTJ$@2;$ 18#&_ G42=&BHHBKT XQ 89&K-T4 T
- XM+GPJ9O*!F1@J&=K*)SVM?U*(FLJ$8XU"&M9=KBEBD99R83!A^]^U="WE((JJ
- XM!_H N0!C*Z-@MBHJHYDIA9#!5[144E6.O0=QRCF6LL!=!B=? +_,*?Z'SE(H
- XM71BHF^=*?[H'GRNH$;JV :/KZ3:YC81VAS)FUH5_+(W=D8.H?V"@78F097?*
- XM9U'W$^0@B"<=\ 4 *6F PZ1U\ 6S4LN:)\V&MFL4$KS>H=U.LH.\^@ :"H&Q
- XMO):'OZOSRA)\ 22*7C:]UB@OH17$N_J)MY7N:G7!5_8I>H"<O0')35= I59D
- XM @** J;N*>5&*M$5$ ==45C$$E0*> K?RNRQ3 F3K0&3'B=PQ/K:OKX!AYFR
- XM%K Q:\N1WMJD^*]^*^%*J=2OY0;B*J("1@H/;%:[9J]9B)0&!D)!JAFG%:DF
- XMB% EWXJ;H: ^@+!6:::=Y2!SUJI,K]4K.UC!:J_":X7RK7RO)RM(Q<$^KR3*
- XM#8O"$J\QT^%*PPZO0<HS=;GZ!9FK2*1US"G%2#%^B:A\I'A+F&1.B82@JE
- XMMG^#$JA!I28G5NI\J!@<*JZ<?["6@17[ZVNY%20G$MS. 1TI%&9 W&J.^JEK
- XM018[CIT7BU*K(A)I*674SL%&@;$1K!T;N+I@DI<?VZ8(KF)1?T7'IBR^: BP
- XM<PQA:N$S]6E:7J#MW>:Y+K.KZ?K2NI2M->;I2LB Z'K)F@"DZ[SHK\JN
- XM*2QLAZZ.LGP!=R;(T@&;4FUCQ;$$W6@>6\@^J>;!76/+WK*X;"[KULP).\VZ
- XM<(G1$J-!>]">-4<N0I?Z3C9-C$J)-A10E\=*_E$KX0U-P!>P94P!=A1>T\M2
- XMF'4JL4!I,BME3:^&F5Q1J85A@\VR.[Z1V''%7%%?QM5A9B*?D$=?HP/X05<'
- XMYB'0X!UD5-3@!JRSYF?AX<XF ?&!/$N-Z!X$31/P]90!?J0;(+:5$2J 0*LO
- XM/ %W0+ERT,9@"FT9T"'<!\/F0^L3)K0#[8;QC)R/#RU!$-&BDA9M^8?1Z@N[
- XM358X!Z@'[$%'.]*N2>T+&A#2:BD1;4E+NJFT$6U XA?1M ,M+2D1YB:V%DP[
- XMT&HGL0%.JR]@)3E)'B#4E@$R[1=%-1*'0^#&<X_E1%!M5"O53K54;55KU5ZU
- XM6.U5&P_)I)L-<C,: #9N4/PA%8$ =T_[\_Z</$9!. LFC+,058REUMX!V&PW
- XMRL*A+Q>0\1F\YK/(WEQ+M=2UA^A=FX@^4TL!?T>Z+;5T;=Q9>R)[@:U)2]CN
- XMM8;MN0K8L@<F;6%KUQZV5R%C ]G.M(SM9.O8OE*)+>F&TLX!DFU?2]EVB#]/
- XM9_M%?;:A[>R)B#8%W:AEL=%F&:FM[VFNXK65K6MK/L*VF:UHN]FV*DS+3BM>
- XM-+:T+6F+ O2VL>WAR:^29QV-^Y+;JK9^;;C0UKI9[ N84=S.MG]MI)B&3+>K
- XMK5/PW'9V]L)-N]S*MMEM-YK@8+?-K78+^@BWX^UW:]QNMD9!>FNZ\+6J9_<Y
- XMVL98[BW& -]RG^'M2ZF25+3J+77KW)ZW,=:@QM^^M\!M==LJ[;?>+8%K>,JW
- XM["R ZV8)N FN?5NO,;AB3#>Z-@2U_6UV*Q/%6!=N&4#>'K>M"IC@T&:XY>V&
- XMZV:)N(/!A[O;2CQ9B5%+XLZW;A9+T.*JN!4N$S;CJK<4[N2PW?X\,FY16]SF
- XMN*QM1B3WD+4QD/NC]UBQ> TZBM!@HK'2Z"3UJ"NGDT%07+JO9!)R&:*N+-UE
- XMJX(O-0D(S4?484BT*@E"\QW=6B!G%O,0%F-+K624 Z '=.@:PG%6/]H3EXL.
- XM>;E7QT3+U%:<[6%$6]"*;8&G/C1)Q;FC09>;SCX'=BY"0W[B<@.MG3O@YB9]
- XM[I,"YPJ>4).@^^46NIXJ0T<2_+3I%)_+.R&SCNZ?"^GF2Y)NG1OF>JHS0%=5
- XMT^H$$2YMP.0*GH_N]"3G_HIT+J$[ZHZK=12BJR]HM+>M3J#IY@'FD9^KY0*Z
- XM$T*H*^O>!X:N?6GK>K@"W*[;ZW:ZO^ZG^^I6G+$NF$OL>JHV@*D[T Z.+BU>
- XMU^AV!:VNN!3HSKF#KK1[YP8(6\ -8.T.M7?'&N#B#H';KK77[+JZWRZL&^Y2
- XMNN/J('7LZK3*+J?+[3Y36VZ\"^V&NTDM: N)]0"::)E+V)VYW%*:>XK( &SN
- XMX>;FFKF!'=#D[/J[ 4*T&_ :NH7?I4O27K:G+0N5[_I*W>[3!.J"NU_NQ>NI
- XM^IRWV$ ;\"ZV[.ZF"_+RN\!N'2#LE@'M">&@+(BY!"^92]"(8@DOEYKH-+Q5
- XMW)OKZ<*[P2[)>W74O& #&8#QGKM(+<<K\+:\O*Z^Z^Y*O$2OS&OT/@=([\U[
- XM\C*]0*V'J^VZO$WNT.OM%KWR[I>;]4:GE2[3:],V(1]OV/ONCKU6;]E[]!:O
- XM2:^A6^H>NR#MUQOUOKQOK\C[[%:\X>[9J_1ZJK5NRCO4)+?9+M2[[.Z[?>^O
- XM]/<J$]&NX%OL,KT,[8BK^$J]Z=,]%B2<"1!&>S8VG:FL'/ @/(P$] 29$3OD
- XM!(?4[#0TH _#B(O0+5"K9=,J@OI6;RX.9TI27 W,H<<G*12=CT,W6SG)I)MO
- XM,+OJZD/ )>GDVWQ)PR5 %/N.2;X2&Y5N=+6J16I3!X"U&E] !K<01@4*02W
- XM($50 %YS1Y$(9\*2V^Z&O(YOO$0N+7AU2U?U^6I#?0TV*VCUNV3OOSOISKH5
- XM9V"5JHD*3,$7X!]L++,8$1/NXK,&;L\3\W)/PX>=$1Y0 4VB^CL'L;_1K_O+
- XM4\&_<:_\._?:O&COKQA8E0L( AR@_](!_.]'.EFJLXPF>WL0-*-Y9J@@!X!+
- XM52\!+'X8P!Q# NPY.03C0FSE]!H4W]/Z2YV\M0[PFM6IQ+PSK\EK :M9XM#@
- XM0")LP!VP^?3_AL 5;C?J]U1^9UY[@"M)L]D'WP,EG:I'T/@;@ E@+L@79:96
- XMK15!*UM2U&B%0L3@:C$$<] T$01HP6G4_.8@O+4OIE@Q'PZTI>75FNK9 ($"
- XMAB 4E <IV><;VRAGRLWX6_Q*/<+E9:/\QB*,2I4K>*J46M\&@B3I7]W$%& '
- XMVU(Q[Q! 4)0!U9PCK )UBR" &K 1?(RO% 0L"1-@E? C3"Y*I+1)Q\D'=P6?
- XM+PH,]W["4\'B^RMY-ZF%H+4#3[Q#T_F['1D!Z>]&P&V1PKR)*:S:/"FIL"<\
- XM";O"/Q$LW$7]71"P"KP=L< (,!'0!>C"W:@P# JWH9;P8K0(*Q#5<,"JRV[#
- XMW' W_-;,"7Y)4* M&W^QU!$!B0!N:B@&C*E" >+1^C >GV1Q:-J<(ZPI1'6
- XM0ZF*JQC#I6H[83U&7Z<9"JZKJZHM=W_RF?$JGAL0^P#^IR@4N<)%5E"6:[[J
- XM'J51@W) ;&9$A6'Z3H4+R@9E5]GU+(D*.ZP &"5T0#G,4YRM1]#PA&L.:KCF
- XMT= -G9<]KKK;Y51*LY,*,#R9E__EH$83DR1:0MMQ$[?$@O#68I!0'D%$6^)[
- XMY 1!1&''&/Q$K@%0[!5P+/?JX=,.UP%,F"YSE]!3:T-SP"JT!P'H3G:=_)=5
- XML4(19L$O'V@2, =H)U9QF!422$(?'QF BA@%M\I_:<\:Q2BL:Q!XH$AFS]$F
- XM;-H=(.E!T!83;Z@N>.&1$L5>@5FG(( ,O<Y//$!X!6W)VALY\!3$Y?)K7!K"
- XMC,I'=A2??5:N+\H52V_$XA>EEU'%F/%5K$T-P%*3]H$+IRV@ZKIZ_Z86PVLZ
- XM95" J@DQ $JY),.A,?&1_G:JX^IIG/]VMTW(:OP3M<9<WFL,&MO"V@<SG #3
- XMQG@N!AP#=[BZ,4+,'BC$5,&8"QL#QR5/$G #\<^P+IJ'&O N#$2X1*PQLNQ
- XM:YR$7,9E\1>EY6A*44FIH)@\Q\.2I9;^%D90"322!YS'OW%ZO )+QRVP,UP8
- XM<<;A,59\7G;%F3%3G%8&"MQ4"<'8',9+8Y-PH7P@6:9>$!D29[=PW6)[V:-2
- XM+]2D#(O&Z:]F9'^< 3)'&2 2JT+:V3"!'Z+&V3$-?%[BQI?8P?2!NL7Q06%T
- XM(6?(&[)W\I+9QF[ %Z '9 D4L$?Y7Y+(/(6*?%EDR.BP2] A!W"/ 6J<X(C(
- XM)S+1"H19R#MR1Y0.CP8><I"<_\[(O(*(7!.K)#HRAJPD^\@O\H><__+$4G+-
- XMD>[B-OBBA+B!+,@%,'W<##_(N&!\S"_-Q].Q,XPD6\D:\OWY(U_'7T"(/-[@
- XMFC@RH& BGY?V;&$$)?::S02M@B:[I;S6G_POBGC<J$_)J5;'GBI@O#3:$MSK
- XM>,,=)Z;)0S"PLG4JFC_!-!R@8%#@K](427LAM0,;H'IF&+? XOR?+?@U4G
- XMX<2_)5Q$ NM+;<>/7%OIGDN3JQQZY!^Q\DN& T.:A[(W2B)"Q5:L'7KF!1_W
- XMJT_,%*A.@X%) ,\F*:T3NM44.PE/\;?RG)AN*(%"L!9K*Y1HT**#(@8% R)V
- XM!&C%9HG[T!P(N<&1(E.:PA%GWK*,U"*C<\!2T.4(RZ$'L:R"M,O=Y=9"+R/%
- XM5 [UY&I93\23#Y 4$\ASP*8<,43*+H$MM11 3<0QIER(L8OW,@E8+;]%WE3#
- XM;%E8R\&&$S $? %$P+A7!&P$0^/!3+U28YK17E,IY222\'W PEU\\\RL3 6-
- XMM=UR[*7E>LQN\6H:UFFE+%"Y[-Q@)H.-/S$RKP$E,QMP,@]/.0F1,JRYR\\R
- XMXR+ ]4GP =&Z!@C-$FR5 C;&R]?'_4HF+05L5,3L,4_,*4"GD 58S, C$A $
- XMV"!%P!!@9S23&P'0O#27*#N(QSRJ9+[Y4V-950 *.=*7NA7H$Z-"X3"0 74V
- XMU/T;%7P@98W@MT2D")Q#DL)5K <7P^3PXVBK;![MH1G_EWO>H#'8P$US\4GJ
- XM+T@F>,(I$@L#$+$!KIDX3\Q*LJJ1.%*BR_.6>'>GE01 [B4\$ ?Z0%QL$
- XM>W'%(BV#)]2R0Y(URSZ;B[9L+U\Q\/)?=4O<K_3R4=/Q<,M%@+?LB]++'Y&X
- XM_!@L.QFB?"=JT1=TLRLA.6L*P6SES)!Y>$5$N(!ZC#<A0*TU22T%Q?-\%5MD
- XMQ8LHM8'P<,\0,DAL*C/ _^!7P"\C!Q+989>;[<N#6AI"_C'.#\WFE#X+3]=3
- XM4!""MKC5#_><6L OJ<7VG 948M5R*U4M"] N@"NJ+?NB$S.HZ02E/2*STMPS
- XMG\PZLP1M@ IPL!B]W*ZNPYC3\E0YIQ?Y<O4T/&%/U.NF>SD3SR^9ZEQMT@'J
- XM,C.402\%X1"GH#J_1V]C6K0$[ L,1IBU$!A4;55L0$-S)C;TOO C^ 7XH:U%
- XM]]#/3RD6]#C;#Y$S?C(YW\#*E@I]7E8L70[HO#J- >HRZ>PL&P6G<TRL.M_$
- XMKO,[#!(PT3K#\TPY:R*7LQ2-1&,,<LRLG+X.8'.0W_DX"";H0])C3PH4#AC*
- XMY!KYRB'#XVETOA1#P#:GRM$&JES24"Y (^U!O['[;E2/0UZP"_F,N]]Z824R
- XM#7*%(6TNV 0C 3_+-CRL+X1KF3^-FXP#$3!?X"/:X9,09_R,W F+<ZPU360&
- XML$@^- M+\0_@GT@IB,%H '^X*C!"0^+1C4]8 -')2-,C%MWWY"EHTK)(, T"
- XMH#=SY]]IT>4M4F=KH4N+=)1!,PUZ/--6J#0MT;X'U/3/(ZPIL'* NM*L40;Q
- XM1U%6!'C3@6RZDM#0E]4N9[&RD $Z2QL@"/NB+$-259CA4E%A8K:8D5*AIC:&
- XM2Y<B%MT-.]T$-LL$?5D#7$FGVPVKFST&\;2.2M*E?,)4YL;((F2]-.\+3._2
- XM#+,&H1541@]/09!-?P'Y U;6 ZQVN8L)P$ZK#;A-35GC2*Y6%W# 3U/451"1
- XM.$S'!]DT%@2"]9W)]!Q-@K6[HID>G;B GNP=4R,YB0F53?([Y;X!Q^4A'()!
- XM'4#U-XUW6A'J"D^M0]0IN@,54 5( 8W#[Q%_E)!HR9Z&$V066367%R'[ -[-
- XM9:!.9P8& >H;R!T$.I?V9%;S40J ' T'N$# PB\]5B<'!@$>\"6,3WG 7<U9
- XM' %#P+C"26$!?+45P'L &F? &)#?$!I(3?LQ*UP2KW& S"DPFU/G->T79-.'
- XMV2G*A4QZ%&)$_4MGTR%"^,P?<@I8P"#C2_^=-_6F2P9PU4.1+"S"LHBP&!<%
- XM>3H1^/**@0:4$6>@4PU;^P!3@41 $1C1<)$)$%<;G;"87:TEP&)YM99PG8[6
- XMCT-($*A]4=(5$2;6<5\0UMQI1>R7>(#1";]@ 9^O6ZTYG=9A0%>MQ"0AMC4;
- XM$%M'/^'U3Y1;3P3CTUIM4A76=L!'Y&IA%EXB)/SIMBQ>@4=T9,0 P:97T%&Q
- XMURX "P=?TUEI]7P-2PN>+L VE%^#H9^UC&A8N]=*FUAC95$["[9_[6"3H)O=
- XM@IUG_=?JEO9$7Q/8/\:!O5^C==CU',17;]>H-4^Q$?#5NG09@&&3 7P 7XU*
- XMKMBP&'MM4F'7#@&DI"#0"YK3;_TX)%NOM7C-D5;7.S9/55@+6@J, E->^\N7
- XM 7DM79,QYC58@%YSS%"VV]E180'MDG8])>G8!35X1&7+$"/VE%18*Z*)-6*
- XM"TO5N@-X9"@;1A3B2TT;<-8)=@C@*0PRQ#3@:5J7V';9^K"@"%HFP)%M/<C6
- XML-B1?5Y3!+ 8EFV'5%_.-<T<7??8U+5UK76$V*2-?U-3EW=3$G?M70M:>G:2
- XMO?WXV4XVH TQ3!&S]93=$#P$4,"-/9A<V1(UCSU=_]C ]0.L/1766\ 3S%<_
- XMPU/:E,935=I\]D^%:./6F?;X5&1#PU-VE?UHY]@2M4EU9ALHF;5;S69K?[9.
- XM:%WB&-NE==3[ X */H-]\ ,H871VXO(#'-A&Y[3]=^T%X=]:W5H?V7[TX\!;
- XM@S2N]:F]9T\^W_:2K4,TV;JUVZ9:!Z0B05I!+PP'W()3\!#NVJ)<94,;;&:J
- XMZ./I1-BO;P#7!1>A ?VG2"T7B><"[X=$(QYT5+^D,+E?AB"6B9P(Z180)%9
- XM"*< ;A'=LW#OVT@#-J)C%)D ]\1]$"0[;K5R384UUT1B7ZA\GHE>'-,T)8H)
- XMA7:*^?1YUOIT=C<?C;6+M<&@ +S9)4Z<W6Q3V]UU:FUG\T9B1:W]9X]/@O8?
- XMW-M N<FO48#:) "2]E"DWWC3L-U2!E2?V]N/"G!T?RMNM;J"96<>X?2S1DYS
- XM%N;T%H!.:S@K2T?=MR6<FW8@QW;'U?JQRI6N5#;$20P&!R!2,VEFD : %B+.
- XM2RE/)SB5-=%M3RO4@&&G]5"?KV)=J_1/HR$;@4!-4%<_%K4QPGAS/QJU1<=1
- XMRP;)Q$=-!FP$^8ALK7EO!&1#N_UYTT5E *<]>@O6C $98*E@IE_ ,T(PMP&:
- XMM]DR,YD :C=M()$9W;DV+.9MQS1P-^'-O6#>;$.R4U#I26NU7C9\MPZ8J?%-
- XM!Q>,R7>R,P.X&V]1$3#:70'O BY1#N9[0< JHB4.!VHVJ8BB/&H4F+&@YTG4
- XMBUES=E /)H:W9A1SK\ZAUTW5.LG6GYE%H.B40-+W<DI]MQJ"(/8]$G3?%=@'
- XME5"F$MMWT1W(@=]7QQGQ, Y??G=GXGU.IWRIUXEZ\'@2O:\_)%WA36+<J!
- XM #C NT$0'-VRS]T-OVC+BO?@-GD[WEQ!02TFG'"AST>5Q\$3,7%S"E/*E#2E
- XME*9UY]J9*AOWC47>:TBG);; 'A "< &X $AM0A4&P7(. AF"AE2B#& #5 9
- XMEE%DP-#GHXDX(( /8#5DX!T5$^Z$(T N1*_#@V>:'=6PC:50B,_W$GYW7^$W
- XM3Q1N-=!1)I45'E3=15BX%)Z$\W68%Q[ A8-':GAHU(;[ !GXV+>%JX= ]1B^
- XMAC_A]I86+H?SX2QWE$B^^EJM"FDB45_7GR]R38_<$:EII%UM=\XZ0PR&=<=@
- X;'+A!C5,PX(FL(OY+']ZZ1Q%V$(BO*"#<@]4
- X
- Xend
- END_OF_FILE
- if test 31873 -ne `wc -c <'usermenu.c.Z.uu'`; then
- echo shar: \"'usermenu.c.Z.uu'\" unpacked with wrong size!
- fi
- # end of 'usermenu.c.Z.uu'
- fi
- if test -f 'vdm.mask' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'vdm.mask'\"
- else
- echo shar: Extracting \"'vdm.mask'\" \(1931 characters\)
- sed "s/^X//" >'vdm.mask' <<'END_OF_FILE'
- X#define vdmmask_width 64
- X#define vdmmask_height 45
- Xstatic char vdmmask_bits[] = {
- X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- X 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,
- X 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,
- X 0x71,0x00,0x00,0x00,0x00,0x00,0xc0,0xe1,0x87,0x01,0x00,0x00,0x00,0x00,0x38,
- X 0xfc,0x3f,0x0e,0x00,0x00,0x00,0x00,0x07,0xff,0xff,0x30,0x00,0x00,0x00,0xe0,
- X 0x70,0xfc,0xff,0xc7,0x01,0x00,0x00,0x1c,0xfe,0xe1,0xff,0x1f,0x06,0x00,0x80,
- X 0xc3,0xff,0x8f,0xff,0x07,0x18,0x00,0x70,0xe0,0xff,0x1f,0xfc,0x00,0x1f,0x00,
- X 0x0e,0xe0,0xff,0x1f,0x10,0xe0,0x1f,0xc0,0x01,0xc0,0xff,0x0f,0x00,0xfc,0x1f,
- X 0x30,0x00,0xf0,0xff,0x03,0x80,0xff,0x1f,0xf0,0x00,0xf8,0xff,0x07,0xf0,0xff,
- X 0x1f,0xf0,0x07,0xf8,0xff,0x07,0xfe,0xff,0x1f,0xf0,0x1f,0xf0,0xff,0xc3,0xff,
- X 0xff,0x1f,0xf0,0xff,0x80,0x7f,0xf8,0xff,0xff,0x1f,0xf0,0xff,0x03,0x0e,0xff,
- X 0xff,0xff,0x1f,0xf0,0xff,0x1f,0xe0,0xff,0xff,0xff,0x1f,0xf0,0xff,0x7f,0xfc,
- X 0xff,0xff,0xff,0x1f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xf0,0xff,0xff,
- X 0xff,0xff,0xff,0xff,0x1f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xf0,0xff,
- X 0xff,0xff,0xff,0xff,0xff,0x1f,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0xf0,
- X 0xff,0xff,0xc7,0xff,0xff,0xff,0x1f,0xf0,0xff,0xff,0x01,0xff,0xff,0xff,0x1f,
- X 0xf0,0xff,0xff,0x01,0xf8,0xff,0xff,0x1f,0xf0,0xff,0xff,0x01,0xe0,0xff,0xff,
- X 0x1f,0xf0,0xff,0xff,0x01,0x00,0xff,0xff,0x03,0xf0,0xff,0xff,0x01,0x00,0xfc,
- X 0x7f,0x00,0xf0,0xff,0xff,0x01,0x00,0xe0,0x1f,0x00,0xf0,0xff,0xff,0x01,0x00,
- X 0x80,0x03,0x00,0xc0,0xff,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x01,
- X 0x00,0x00,0x00,0x00,0x00,0xfc,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,
- X 0x01,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
- X 0xfc,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x01,0x00,0x00,0x00,0x00,0x00,
- X 0x00,0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
- END_OF_FILE
- if test 1931 -ne `wc -c <'vdm.mask'`; then
- echo shar: \"'vdm.mask'\" unpacked with wrong size!
- fi
- # end of 'vdm.mask'
- fi
- echo shar: End of archive 12 \(of 21\).
- cp /dev/null ark12isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 21 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
- --
- Molecular Simulations, Inc. mail: dcmartin@postgres.berkeley.edu
- 796 N. Pastoria Avenue uucp: uwvax!ucbvax!dcmartin
- Sunnyvale, California 94086 at&t: 408/522-9236
-